TwitterのAPIを利用してユーザーのstatusをupdateしたいと思っています。

私のサイト(webアプリ)経由でtweetさせる感じです。

下記のサイトで認証まではいけたのですが
http://pavane.rdy.jp/archives/144

この後、アクセストークンなどを利用してAPIに接続するのには
具体的にどうすればいいのか分かりません。

ログイン

コールバック先が表示、同時にstatusをupdateするのは可能なんでしょうか?


言語はPHP5でレンタルサーバー使用です。
PEARや他のライブラリはできれば利用したくありません。


どなたかアドバイスなどお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2010/08/04 17:38:25
  • 終了:2010/08/05 17:19:43

ベストアンサー

id:ku__ra__ge No.2

ku__ra__ge回答回数118ベストアンサー獲得回数402010/08/05 10:52:44

ポイント100pt

アクセストークンを利用してAPIを利用する方法は、説明ページ(http://pavane.rdy.jp/archives/144)の「5)」のoauth_tokenと、oauth_token_secretを取得する方法とほぼ同じです。違うの送る先のURLと(APIにパラメータが必要な場合は)API用のパラメータも同時に送るという点だけです。

以下、具体的な方法を記しますがコードの動作は確認していないので、問題があれば言ってください。


API用のパラメータが必要ない場合はアクセストークン等を取得する関数がそのまま利用できそうです。具体的には、

$url = get_parameters(《アクセストークン》, '',《アクセストークン秘密鍵》, 'statuses/home_timeline.xml');

とやれば、アクセストークンを発行したユーザのタイムラインをxml形式で取得するURLが取得できます。


API用のパラメータを指定をしたい場合、get_parametersで追加パラメータを受け取れるように、以下のような修整をしてやればいいと思います。

■受け取り引数にapiで使うパラメータを追加
function get_parameters($token = '',$verifier = '',$secret = '',$call = 'oauth/request_token')
 ↓
function get_parameters($token = '',$verifier = '',$secret = '',$call = 'oauth/request_token', $add_param)

■パラメータににapiで使うパラメータを加えて処理するように変更
「// URLエンコード(パラメータ) #2」の前に
array_merge($parameters, $add_param);
を追加する。

その上で、

$url = get_parameters(《アクセストークン》, '',《アクセストークン秘密鍵》, 'statuses/home_timeline.xml', array('page'=>'2'));

とやれば、タイムラインの2ページ目を取得するURLが取得できます。


利用できるAPIとその仕様は、

http://watcher.moe-nifty.com/memo/docs/twitterAPI.txt

などを参考にするといいでしょう。

ちなみにyamaneroom氏の回答にあるURLで説明されているのは、OAuthじゃなくそろそろ廃止されるBASIC認証によるAPI利用方法ですね。

id:morimori2010

上記の内容を参考に色々いじってみたら(status update用に)

投稿できました!!!

function get_parameters2と名前を変えてoauth_twitter_common.phpに追加して、

パラメーターをstatus update専用にいじってみました。

今後は、もっとすっきりと、他のAPIにも利用できるようにクラス化してみたいとも思っています。

本当にありがとうございます。

2010/08/05 17:18:34

その他の回答(1件)

id:yamaneroom No.1

yamaneroom回答回数1040ベストアンサー獲得回数612010/08/04 17:45:51

id:morimori2010

参考にしてみます。

2010/08/04 20:40:49
id:ku__ra__ge No.2

ku__ra__ge回答回数118ベストアンサー獲得回数402010/08/05 10:52:44ここでベストアンサー

ポイント100pt

アクセストークンを利用してAPIを利用する方法は、説明ページ(http://pavane.rdy.jp/archives/144)の「5)」のoauth_tokenと、oauth_token_secretを取得する方法とほぼ同じです。違うの送る先のURLと(APIにパラメータが必要な場合は)API用のパラメータも同時に送るという点だけです。

以下、具体的な方法を記しますがコードの動作は確認していないので、問題があれば言ってください。


API用のパラメータが必要ない場合はアクセストークン等を取得する関数がそのまま利用できそうです。具体的には、

$url = get_parameters(《アクセストークン》, '',《アクセストークン秘密鍵》, 'statuses/home_timeline.xml');

とやれば、アクセストークンを発行したユーザのタイムラインをxml形式で取得するURLが取得できます。


API用のパラメータを指定をしたい場合、get_parametersで追加パラメータを受け取れるように、以下のような修整をしてやればいいと思います。

■受け取り引数にapiで使うパラメータを追加
function get_parameters($token = '',$verifier = '',$secret = '',$call = 'oauth/request_token')
 ↓
function get_parameters($token = '',$verifier = '',$secret = '',$call = 'oauth/request_token', $add_param)

■パラメータににapiで使うパラメータを加えて処理するように変更
「// URLエンコード(パラメータ) #2」の前に
array_merge($parameters, $add_param);
を追加する。

その上で、

$url = get_parameters(《アクセストークン》, '',《アクセストークン秘密鍵》, 'statuses/home_timeline.xml', array('page'=>'2'));

とやれば、タイムラインの2ページ目を取得するURLが取得できます。


利用できるAPIとその仕様は、

http://watcher.moe-nifty.com/memo/docs/twitterAPI.txt

などを参考にするといいでしょう。

ちなみにyamaneroom氏の回答にあるURLで説明されているのは、OAuthじゃなくそろそろ廃止されるBASIC認証によるAPI利用方法ですね。

id:morimori2010

上記の内容を参考に色々いじってみたら(status update用に)

投稿できました!!!

function get_parameters2と名前を変えてoauth_twitter_common.phpに追加して、

パラメーターをstatus update専用にいじってみました。

今後は、もっとすっきりと、他のAPIにも利用できるようにクラス化してみたいとも思っています。

本当にありがとうございます。

2010/08/05 17:18:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません