質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Facebook Graph API

Facebook Graph APIとは Facebookのグラフデータベース用のAPIであり、対応言語はPHP、Perl、ActionScript、JavaScriptなどがあります。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1837閲覧

Facebook SDK for PHPでactive access tokenが必要とエラーが出る理由が知りたい

mido

総合スコア14

Facebook Graph API

Facebook Graph APIとは Facebookのグラフデータベース用のAPIであり、対応言語はPHP、Perl、ActionScript、JavaScriptなどがあります。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/07/18 00:15

編集2019/07/18 06:46

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'];

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoorwm

2019/07/18 01:05

全く分からないですが「current user」とあるからには、そのトークンを使ってcurrent userの認証だか認可だかをさせる、という風に使うのではないでしょうか? とりあえず、使い方のリンクも無いですが、正しく使用していますか?
guest

回答1

0

自己解決

よくよく調べたらFacebookにアプリ開発の審査を申請して合格しなければならないようでした。

投稿2019/10/03 15:52

mido

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問