下準備については下記で紹介したので、実際にプロフィール画像を変更する時のお話です。
TwitterAPIを利用するためのOAuth認証処理ライブラリについて
アクセストークンを取得してAPIが使えるようになったので、プロフィール画像を変更するAPIに画像をPOSTでリクエストします。
$consumer_key = "[Twitter Developersで取得したConsumer kye]"; $consumer_secret = "[Twitter Developersで取得したConsumer secret]"; $access_token = "OAuth認証で取得したアクセストークン"; $access_token_secret = "OAuth認証で取得したアクセストークン(シークレット)"; // OAuthオブジェクト生成 $to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
このOAuthオブジェクトから、TwitterAPIを利用します。例えば、
$to->OAuthRequest('statuses/update', 'POST', array('status' => "ツイートしたいテキスト");
とすると、認証中のアカウントでツイートさせることができます。プロフィール画像の変更については、下記のようにします。
※前述の記事中のカスタマイズを行なっていることが前提です。
//$ei:画像ファイルのパス、または画像の文字列化データ $to->oAuthRequestImage('account/update_profile_image', array('image' => $ei));
imageパラメータは画像ファイルへのパスでも、画像の文字列データでもOKです。iconDecotterでは、前回の記事の通り文字列データを引数にしています。Twitterの画面を確認して、アイコンが送信した画像に変更されていれば成功です。
なお、これらの関数にはきちんとレスポンスがありますので、それを取得して内容を解析し、エラーが起きていればアラートを出す等のことはした方がいいですね。正常に処理が通っていれば、プロフィール情報がレスポンスとして返って来ます。何かエラーが起きている場合は、例えば下記のようなエラー文が返って来ます。
{"errors":[{"message":"Over capacity","code":130}]}
レスポンスは基本的にはJSON形式ですが、リクエスト前に「$to->format = “XML”;」とすればXML形式で取得することもできます。
コメント
[…] 以前の記事では、ライブラリに少々手を加えてアイコン画像の変更を行っていましたが、新しい方のライブラリでは特に変更せずとも、下記のようにすれば問題なく同様の操作が行えま […]