Facebook SDK for PHPを使ってFacebookページに投稿しようと考えています。
しかし、なかなかサンプルがなくとりあえず自分のウォールに投稿しようと考え、ネットで以下のようなサンプルを探して実行してみました。
参考にしたページ
https://qiita.com/Gaccho/items/1010f92ae1f598a1c099
実行すると「An active access token must be used to query information about the current user.」というエラーが発生します。
アプリIDなどは伏せ字にしてありますが、FacebookDeveloperでアプリの登録は済んでいます。
エラーの内容は「アクティブアクセストークンを使用する必要があります。」とあるのですが、アクセストークンは
https://developers.facebook.com/tools/accesstoken/ から取得しています。
こちらの方法で取得したトークンとも一致しています。
https://graph.facebook.com/oauth/access_token?client_id=**** AppID ****&client_secret=アプリの秘訣&grant_type=client_credentials
なぜこのエラーが表示されるのか分かる方はいますでしょうか? そして解決策を知っている方がいましたら教えて下さい。
よろしくお願い致します。
require_once( dirname( __FILE__ ) . '/lib/Facebook/autoload.php' ); $fb = new Facebook\Facebook ([ 'app_id' => 'xxxxxxxxxx' , 'app_secret' => 'xxxxxxxxxx' , 'default_graph_version' => 'v2.10' , ]); $access_token = 'xxxxxxxxxx'; $data = [ 'message' => 'My awesome photo upload example.', 'source' => $fb->fileToUpload( dirname( __FILE__ . '/photo.jpg' ) ), ]; try { $response = $fb->post('/me/photos', $data, $access_token ); } catch(Facebook\Exceptions\FacebookResponseException $e) { echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch(Facebook\Exceptions\FacebookSDKException $e) { echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } $graphNode = $response->getGraphNode(); echo 'Photo ID: ' . $graphNode['id'];
回答1件
あなたの回答
tips
プレビュー