2011/6/11 に開催した、Facebookアプリつくろう会から4ヶ月が経とうとしていますが、みなさんアプリ作っていますか?
今日は一般のユーザとして、ファンページ(コミュニティページ?)へ、写真を投稿しようと思いプログラムを書いてみましたが、どうもうまくいきません。
コードはざっくり以下のようにGraphAPIを用いて投稿しています。
$params = array( 'access_token' => $access_token, 'source' => '@file', 'message' => 'message: test photo upload ' . date('Y/m/d H:i:s'), ); $facebook->setFileUploadSupport(true); $res = $facebook->api('/' . $pageId . '/photos', 'POST', $params);
この写真ですが、そのユーザのウォールへ投稿されてしまうのです。なぜ・・・?
パーミッションについてはよくわからなかったのでこんな感じにしています。
manage_pagesは「Facebookページ名のユーザとして」ウォールに書き込むためのパラメータと認識しているので、これはいらないのではないか?とは思っていますが・・・
$scope = array( 'publish_stream', 'user_photos', 'friends_photos', 'offline_access', 'manage_pages', 'status_update', );
ちなみに
$params = array( 'access_token' => $access_token, 'message' => 'this is post by app ' . date('Y/m/d H:i:s') ); $res = $facebook->api($pageId . '/feed', 'POST', $params);
こんな感じに書くと、ちゃんとコメントは投稿されますので、アクセストークンに問題はないと考えています。
必ず「非表示の投稿」のところに出るのが気になりますが・・・。