24/3/12 X(旧Twitter)社の方針変更により、APIの利用範囲が変更されています。この記事で取り上げた機能は現時点で大幅な制限があるか理由できません。
プロデルでは、Twitterプラグインを使うことでTwitterと連携したアプリケーションを作ることができます。
Twitterと連携するには、開発者ページにてTwitterアプリ登録を行う必要がありますが、Twitterの通常のアカウントがあれば無料で登録できます。
Twitterプラグインには、TwitterAPIへアクセスできる「Twitterクライアント」種類が用意されています。
プラグインは、次のアドレスからダウンロードできます。
https://produ.irelang.jp/downloads/plugins.html
下準備
Twitter開発者サイトでアプリ登録します。
https://apps.twitter.com/
[Create New App]ボタンをクリックして、アプリを登録します。
アプリ名と説明、URLは、必須です。Callback URLは、プロデルプラグインでは使いませんので省略します。
アプリの「Kays and Access Tokens」タブを開くと「Consumer Key (API Key)」と
「Consumer Secret (API Secret)」が確認できます。
この2つのキーを、プロデルのTwitterプラグインで指定します。
OAuthアクセストークンの取得
ツイートを投稿したり、タイムラインを取得したりするには、
ログインするTwitterアカウントで、先ほど登録したアプリを認証します。
認証は、OAuthという方法を使います。OAuthでは、ユーザがアプリを認証するとトークンとトークンシークレットが生成されます。
これを使って、TwitterAPIへアクセスします。
次のプログラムは、OAuth認証してトークンとトークンシークレットをkeys.iniへ書き込むプログラムです。
「認証する」手順でWebブラウザが起動して、アプリ認証のメッセージが表示されます。
作成したアプリであることを確認した上で[認証]すると、PINが表示されます。
このPINをテキストボックスに入力すると、トークンとトークンシークレットが取得できます。
// OAuthアクセストークンの取得 //
「Produire.Web.dll」を利用する
ツイッターというTwitterクライアントを作る
// コンシューマ情報(開発者がアプリケーション単位で取得して設定する)
ツイッターのコンシューマキーは、「XXXXXXXXXXXXX」
ツイッターのコンシューマシークレットは、「XXXXXXXXXXXXXXXX」
アプリ設定という設定ファイルを作る
アプリ設定のファイル名は、「keys.ini」
メイン画面を表示する
待機する
メイン画面とは
ウィンドウを継承する
はじめの手順
初期化する
終わり
初期化する手順
ーーこの手順は自動生成されたものです。編集しないでください
この内部領域大きさを{284、196}に変える
この内容を「Twitterアクセストークンの取得」に変える
このドラッグドロップを○に変える
テキスト領域1というテキスト領域を作る
その移動順を1に変える
その位置と大きさを{27、50、236、116}に変える
ボタン1というボタンを作る
その内容を「アクセストークンを取得する」に変える
その移動順を2に変える
その位置と大きさを{63、12、147、23}に変える
終わり
ボタン1がクリックされた時の手順
ツイッターで認証して、結果とする
もし結果が×なら、
「取得できませんでした」を表示する
抜ける
もし終わり
テキスト領域1の内容は、「PIN:[ツイッターのPIN][改行]トークン:[ツイッターのトークン][改行]トークンシークレット:[ツイッターのトークンシークレット][改行]」
アプリ設定について「全般」で「トークン」へ、ツイッターのトークンを設定する
アプリ設定について「全般」で「トークンシークレット」へ、ツイッターのトークンシークレットを設定する
終わり
終わり
ツイートする
アプリ認証が完了すると、そのTwitterアカウントからツイートできます。
「ツイートする」手順を使います。
Twitterクライアントは、コンシューマキー,コンシューマシークレット,トークン,トークンシークレットの4つを設定する必要があります。
先ほどのOAuth認証でkeys.iniに保存したトークン,トークンシークレットを取得して、Twitterクライアントに設定します。
// Twitterでつぶやく //
「Produire.Web.dll」を利用する
「Produire.File.dll」を利用する
ツイッターというTwitterクライアントを作る
// コンシューマ情報(開発者がアプリケーション単位で取得して設定する)
ツイッターのコンシューマキーは、「XXXXXXXXXXXXX」
ツイッターのコンシューマシークレットは、「XXXXXXXXXXXXXXXX」
// OAuthアクセストークン(ユーザが取得して設定する)
アプリ設定という設定ファイルを作る
アプリ設定のファイル名は、「keys.ini」
もしアプリ設定のファイル名というファイルが存在するなら
ツイッターのトークンは、(アプリ設定について「全般」から「トークン」を取得したもの)
ツイッターのトークンシークレットは、(アプリ設定について「全般」から「トークンシークレット」を取得したもの)
そうでなければ
「アクセストークンを取得してください」を警告アイコンで表示する
終了する
もし終わり
メイン画面を表示する
待機する
メイン画面とは
ウィンドウを継承する
はじめの手順
初期化する
終わり
初期化する手順
ーー//この手順は自動生成されたものです
ーー//編集しないでください
この内部領域大きさを{310、211}に変える
この内容を「プロデルTwitterクライアント」に変える
このドラッグドロップを○に変える
ラベル1というラベルを作る
そのフォントを「MS UI Gothic,14.25」に変える
その内容を「いまどうしてる?」に変える
その移動順を3に変える
その位置と大きさを{12、19、134、19}に変える
その文字色を「灰」に変える
テキスト領域1というテキスト領域を作る
その移動順を1に変える
その位置と大きさを{12、54、286、116}に変える
その位置固定方向を「右+左+下+上」に変える
その最大文字数を140に変える
ツイートボタンというボタンを作る
その内容を「ツイート」に変える
その移動順を2に変える
その位置と大きさを{223、176、75、23}に変える
その位置固定方向を「右+下」に変える
終わり
ツイートボタンがクリックされた時の手順
ツイートボタンを無効にする
ツイッターでテキスト領域1の内容をツイートする
テキスト領域1をすべて消す
ツイートボタンを有効にする
終わり
終わり
タイムラインを取得する
ログインしているアカウントのタイムラインを取得するには、「タイムラインを取得する」手順を使います。
結果は、TwitterAPIのJSON形式を、プロデルの辞書形式に変換したものとして現されます。
結果の詳しい意味は、TwitterAPIのドキュメントにあります。
ただ説明が英語ですので、こちらなどの日本語の解説を探して読むとよいかと思います。
// 自分のタイムラインを取得する //
「Produire.Web.dll」を利用する
「Produire.File.dll」を利用する
「Produire.WinControl.dll」を利用する
ツイッターというTwitterクライアントを作る
// コンシューマ情報(開発者がアプリケーション単位で取得して設定する)
ツイッターのコンシューマキーは、「XXXXXXXXXXXXX」
ツイッターのコンシューマシークレットは、「XXXXXXXXXXXXXXXX」
// OAuthアクセストークン(ユーザが取得して設定する)
アプリ設定という設定ファイルを作る
アプリ設定のファイル名は、「keys.ini」
もしアプリ設定のファイル名というファイルが存在するなら
ツイッターのトークンは、(アプリ設定について「全般」から「トークン」を取得したもの)
ツイッターのトークンシークレットは、(アプリ設定について「全般」から「トークンシークレット」を取得したもの)
そうでなければ
「アクセストークンを取得してください」を警告アイコンで表示する
終了する
もし終わり
メイン画面を表示する
待機する
メイン画面とは
ウィンドウを継承する
はじめの手順
初期化する
終わり
初期化する手順
ーー//この手順は自動生成されたものです
ーー//編集しないでください
この内部領域大きさを{310、211}に変える
この内容を「プロデルTwitterクライアント」に変える
このドラッグドロップを○に変える
リストビュー1というリストビューを作る
その表示方法を「詳細」に変える
その見出し一覧を{「つぶやき」、「名前」}に変える
その見出し幅を{147、60}に変える
その移動順を3に変える
その位置と大きさを{12、12、286、158}に変える
その位置固定方向を「右+左+下+上」に変える
ボタン1というボタンを作る
その内容を「取得」に変える
その移動順を2に変える
その位置と大きさを{223、176、75、23}に変える
その位置固定方向を「右+下」に変える
終わり
ボタン1がクリックされた時の手順
引数という辞書を作る
ツイート一覧は、ツイッターから引数でタイムラインを取得したもの
ツイート一覧のすべてのツイートについてそれぞれ繰り返す
リストビュー1にツイートの「text」を追加する
その詳細を{(ツイートの「user」)の「name」}に変える
繰り返し終わり
終わり
終わり
※注意 Twitter APIには利用回数の制限があり、15分間に15回以上タイムラインを取得しようとすると、制限が掛かり取得できなくなります。
タイムラインが取得できると、次のようにフォローしているツイートが表示されます。
まとめ
プラグインを使ってTwitter APIを利用することで、ツイッターの機能を利用できるようになります。
自分にピッタリなTwitterアプリを、プロデルを使って自分で作ってみるのはいかがでしょうか?