3

目的は非常に単純ですが、現在実行中のアプリに関連付けられているユーザー トークンを取得する方法の例はありません。

私の目的は、Facebookで作成したアプリを使用して、公開Facebookページ(完全なオープンアクセスを備えたビジネスページ)をプルすることです。これは、アプリIDとシークレットを取得するためだけに作成されたもので、PHPにデータのリクエストを実行させ、それを私のホームページで繰り返します。非常に単純ですが、サイトのドキュメントは主に Facebook のログインを扱っていますが、これは私が行うつもりはありません。サイトの公開ビジネス ページからのフィードが欲しいだけです。

これは、Facebookがひどく間違っていると私が思うところです。これまでのところ、適切にクエリを実行しますが、空のデータセットを生成するコードは次のとおりです。

$app_id = "APP_ID";
$app_secret = "APP_SECRET";
$app_token_url = "https://graph.facebook.com/oauth/access_token?"
    . "client_id=" . $app_id
    . "&client_secret=" . $app_secret
    . "&grant_type=client_credentials";

    $response = file_get_contents($app_token_url);
    $params = null;
parse_str($response, $params);

$graph_url = "https://graph.facebook.com/202978003068170/feed?access_token=".$params['access_token'];

$app_details = json_decode(file_get_contents($graph_url), true);


    echo '<pre>';
            var_dump($app_details);
    echo '<pre>';

access_tokenFacebookはこれについて漠然としているので、実際の値が何であるかを明確にしましょう. 実際には 2 種類のアクセス トークンがあり、私が作成したアプリには両方の種類があり、ログインしてアプリで作業している場合は、 https ://developers.facebook.com/tools/access_token/ で確認できます。

主な問題は、access_token上記のコードから oauth が返す値が「アプリ トークン」であることです。これは、ユーザー プロファイル データのクエリに問題はありませんが (これはちょっと怖いです)、所有している公開ビジネス ページをクエリしようとすると空白のデータが返されます{"data":[]}。のすべての権限を有効にしました。さまざまな方法を 1 週間試し、頭を机に叩きつけ、サードパーティの情報源から部分的な救いを見つけただけで、これら 2 つの違いがわかりました。

ここで、アプリの「ユーザートークン」をプルするために2番目のOAUTHクエリを実行する必要があるという投稿に出くわしました(これは、fbookのトークンデバッガーからアプリトークンに関連付けられたユーザートークンをテストしましたが、機能します) Facebookですが、そのクエリは何で構成されていますか。

誰か助けてください。これはそれほど難しいことではありません。ユーザーが fbook で自分のサイトにログインすることを望んでいません。ビジネス イベント、フィード、写真をビジネス Web サイトに表示したいだけです。

ありがとうございました

4

0 に答える 0