Hatena::Groupnadesiko

そっとなでしこ RSSフィード


メインのブログに書くまでもない、なでしこ学習帳【記事一覧】 【このブログは何?】


特設!→【目次】なでしこ用Twitter 連携ライブラリ「なこったー」で遊ぶ


2010-09-09

「なこったー」で使用するOAuth認証用の「コンシューマ・キー」と「アクセストークン」の取得

| 「なこったー」で使用するOAuth認証用の「コンシューマ・キー」と「アクセストークン」の取得 - そっとなでしこ を含むブックマーク はてなブックマーク - 「なこったー」で使用するOAuth認証用の「コンシューマ・キー」と「アクセストークン」の取得 - そっとなでしこ

 日本語プログラミング言語なでしこ用OAuth 対応の Twitter 連携ライブラリ「なこったーでTwitter APIにアクセスするためには、次の二組の認証用文字列が必要となります。

  • (1)「コンシューマ・キー」と「コンシューマ・シークレット」
    • Twitter APIにアクセスするアプリケーションのIDキーと、その認証に利用されるシークレット
  • (2)「アクセストークン」と「アクセストークンシークレット」
    • 「なこったー」を利用した「なでしこ」スクリプトが、twitterのID、パスワードを利用せずにtwitterにアクセスするためのトークンと、その認証に利用されるシークレット
  • APIアクセス権を委譲するプロトコル、OAuthを知る - @IT

 以下、この2つを取得して、「なこったー」でTwitter APIにアクセスできるようになるまでの準備手順を、ざっくりとまとめてみました。

【追記】

 この記事は、「なこったー」を利用した「なでしこ」スクリプトを書く人とスクリプトを利用する人が同一人物の場合を想定して書いています(例:自分用のtwitterツールとか、twitter BOTの制作など)。スクリプト制作者以外の他者に使ってもらうツールを作る場合は、この記事の【準備2】の一連の作業を簡単に行えるGUIな機能を配布するスクリプトに組み込んであげた方が親切かと思われます。

【関連記事】

【さらに追記】作りました~

【準備1】Twitter にアプリケーションを登録&「コンシューマ・キー」と「コンシューマ・シークレット」を取得

 Twitter APIにOAuth認証経由でアクセスするツールやスクリプトを書く場合は、事前にアプリケーション登録が必要です。「なこったー」を利用した「なでしこ」スクリプトを書く場合も、twitterにアプリケーション登録を行います。

https://twitter.com/apps

 登録&承認は、数分で完了する簡単なものです。詳細は、以下の記事などを参考に。

私は、こんな感じで登録しました。

うわぁ、テキトウだなぁw

 ちなみに、登録項目のうち「アプリケーション名」と「アプリケーションのウェブサイトURL」は、投稿に用いたアプリケーション情報として以下のように投稿ツイートに表示されます。

 さて、登録が完了すると「Application Details」ページが表示されます。ここで「Consumer key」と「Consumer secret」が発行されます。この「Consumer key」と「Consumer secret」は、必要なのでメモに控えておいて下さい。

 ま、https://twitter.com/appsにアクセスすればいつでも見られますが。

【追記】「コンシューマ・キー」と「コンシューマ・シークレット」は公開するな、がtwitterの公式見解

「コンシューマ・キー」と「コンシューマ・シークレット」が記載された状態のソースコードを公開するのは、セキュリティー上問題があるので止めて下さい、とのこと。

【準備2】「なこったー」で認証して、「アクセストークン」と「アクセストークンシークレット」を取得

【追記】この【準備2】を簡単に行うツールを作りました

 「なこったー」を利用した「なでしこ」スクリプトがtwitterユーザーのアカウントとツイートにアクセスするためには、「アクセストークン」と「アクセストークンシークレット」が必要です。

 「アクセストークン」と「アクセストークンシークレット」を取得するためには、【準備1】で取得した「コンシューマ・キー」と「コンシューマ・シークレット」を使って「なこったー」で認証を行います。認証が完了すると「アクセストークン」と「アクセストークンシークレット」が発行され、【準備1】で登録したアプリケーションがtwitterのユーザー設定の「連携アプリ」に表示されます。

http://twitter.com/settings/connections

 認証は、以下のなでしこスクリプトで行います。【準備1】で取得した「コンシューマ・キー」と「コンシューマ・シークレット」に書き換えて実行して下さい。

!「nakotter.nako」を取り込む
なこったークライアントとはNakotter。
そのoauthのコンシューマのトークンキー = 「****」。# 【準備1】で取得した「コンシューマ・シークレット」に書き換える
そのoauthのコンシューマのシークレット = 「****」。# 【準備1】で取得した「コンシューマ・キー」に書き換える

なこったークライアントで認証する。
メモ記入。

このスクリプトを実行すると、

  • ブラウザが起動し「アプリケーションのアクセス許可確認ページ」が表示
    • (※「なこったー」を利用した「なでしこ」スクリプトでアクセスしたいTwitterユーザーアカウントでログインして下さい)
  • なこったークライアントで「暗証番号」を尋ねるダイアログがポップアップ

します。

 まず、ブラウザに表示された「アプリケーションのアクセス許可確認ページ」でアプリケーション「××(←【準備1】で登録したアプリケーション名が表示されます)」のアクセスを許可します。

f:id:mame-tanuki:20100909201640p:image

 すると、アクセストークンの取得用の暗証番号が表示されるので、これをコピー。

f:id:mame-tanuki:20100909202145p:image

 コピーした暗証番号をダイアログに貼り付けて登録。

 すると、メモがポップアップし、アクセストークン(oauth_token)とアクセストークンシークレット(oauth_token_secret)が表示されます。これが「なこったー」を利用する際に必要な「アクセストークン」と「アクセストークンシークレット」なのでメモして下さい。

 以上、【準備1】で取得した「コンシューマ・キー」と「コンシューマ・シークレット」、【準備2】で取得した「アクセストークン」と「アクセストークンシークレット」は、「なこったー」を利用した「なでしこ」スクリプトを書く際には常に必要となります。ソースコード内では以下のように設定します。

!「nakotter.nako」を取り込む
なこったークライアントとはNakotter。
そのoauthのコンシューマのトークンキー = 「****」。# 【準備1】で取得した「コンシューマ・シークレット」に書き換える
そのoauthのコンシューマのシークレット = 「****」。# 【準備1】で取得した「コンシューマ・キー」に書き換える
そのoauthのトークンキー = 「****」。# 【準備2】で取得した「アクセストークン」に書き換える
そのoauthのシークレット = 「****」。# 【準備2】で取得した「アクセストークンシークレット」に書き換える

 「なこったー」の一番簡単な動作確認サンプルについては、以下を参照して下さい。


【追記】なでしこ開発者のクジラ飛行机氏による「なこったー」入門記事