風柳メモ

ソフトウェア・プログラミング関連の覚書が中心。

『読んだ4!』にまとめて登録する『ぜんぶ読んだ4!』を試作してみた

ツール・APIの『関連ツール・API利用サイト一覧』のところに、あったらいいなということで

  • 漫画など長編を「4巻から16巻まで」のような指定でtwitterに巻数分つぶやいてくれるブックマークレット(yonda4.comとしては一つぶやき=一回一冊としたいので)

というのがあったのですが、ブックマークレットのような形でうまい方法が思い付かないので、ちょっと違うけれどサイトを試作してみました。

■ぜんぶ読んだ4!

http://twithook.appspot.com/zyonda4/

使い方

  1. はじめてhttp://twithook.appspot.com/zyonda4/にアクセスすると、



    のような画面になりますので、右上の「OAuthログイン」をクリックして下さい。

    すると、TwitterのOAuth認証画面へと移行します。
    このとき、念のため移行先が必ずTwitterのサイト(https://twitter.com/oauth/authorize?〜)であることを確認しておいてください。

  2. まだTwitterにログインしていない状態だと



    のようになりますので、ユーザ名/パスワードを入力し、[許可する](もしくは[Allow])ボタンを押して下さい。



    既にログイン済の場合には、そのまま[許可する](もしくは[Allow])ボタンを押して下さい(説明英文中の"Sign out"リンクを押すことで、別ユーザ名でログインしなおすことも出来ます)。

  3. 認可がうまくいくと、



    のように検索フォームが現われます。



  4. 検索フォームに、探したい書籍に関連するキーワードを入れて[検索]ボタンを押すと、



    のように、見つかった本の書影と署名・著者名、および、『読んだ4!』に投稿する入力欄を含んだリストが現われます。

  5. 単独で『読んだ4!』に登録したい場合は、"@yonda4 (ASIN) "に続けて適当に感想を入れて、入力欄右横の[読んだ4!]ボタンを押します



    すると、自分のTwitterへの投稿がなされ、



    投稿が完了した時点で、入力欄などが灰色化し、ボタンも押せなくなります。

  6. 複数をいっぺんに登録したい場合には、登録したい書影左のチェック欄(□)に必要な分だけチェック(レ印)を入れておき(必要ならば感想もいれておきます)、画面上方にある「チェックした本は全部[読んだ4!]」と書かれたボタンを押せば、まとめてTwitterへの投稿がなされます。



    なお、一度には10冊までしか表示されません。ただし、AutoPagerize対応にしてありますので、どんどんスクロールしていって全部が表示されてから「チェックを全て[付ける]」でチェックを付けてからまとめて投稿、なんてこともやろうと思えばできます(笑)

さて、試作してはみましたが……

  1. あちこちに負荷をかけまくることになるんじゃないかなぁ、とか。一気に数十冊投稿とかしても、平気ですかね?>id:AKIMOTO さん。
  2. 動作はかなり不安定かも……とくにOAuth関係はほとんどGoogle App Engineで手軽にOAuthアプリを作成!(Twitterとか!) - AppEngine-OAuth [ゼロと無限の間に]をまるぱくりさせていただいたようなものなので、その方面の不具合が出てもほぼ対応出来ません(汗)。
  3. すごく適当に書いたんで、上記OAuth関連以外も不具合が山程出るでしょうが……諦めて下さい(をい)*1
  4. 実はOAuthがどういうものか知りたくてつくったみたいなものなんだが……ますますよくわからなくなっているという(汗)。特定のサービスS(Service Provider)に対してあるユーザU(User)が有するアクセス権限のうち、一部の権限を別のサービスC(Consumer)に委譲するもの、というイメージで良いのかな?……これが正しいとすると、単純に考れば、そのままではサービスC(Consumer)を利用する人みんなが委譲されたアクセス権を使えるようになるので、今度はサービスC(Consumer)側に使用する人を制限するような仕組みが必要な気がするんだけど。あるいは、S→Cの権限委譲の段階で、Cで使用可能な人間を指定するとか(これは現実的じゃないだろうな)……この辺りのスマートな規定ってあるのかなぁ?結局OpenIDと併用とか?……むぅ、もっとちゃんと調べないとわからないなぁ。

*1:いえ、報告いただいてわかるものならなるべく対応したいのですが、あまり自信が……