1

追加の権限read_streamとpublish_streamを要求するFacebookアプリを作成しました。ユーザーがアプリを受け入れ、fqlクエリで投稿を取得しようとすると、アプリが投稿を読み取れるようにすると、空の結果が表示されます。

これがコードです

$appAccessToken = APP_ID|APP_SECRET
$fql = 'SELECT post_id, type, likes, source_id, created_time, privacy, comments FROM stream WHERE source_id = xxxxxxxxxxxxx';
$param  =   array(
    'method'    => 'fql.query',
    'query'     => $fql,
    'callback'  => '',
    "access_token" => $appAccessToken
);
$fqlResult   =   $facebook->api($param);

結果は空の配列です

Array ( )

user_access_token( "access_token" = $ facebook-> getAccessToken();)を使用して、またはfqlクエリにアクセストークンがなくても、アクティブユーザーの結果を取得できます。

問題は、アクティブユーザーだけでなく、アプリを使用しているすべてのユーザー投稿にアクセスする必要があることです。オフラインユーザーのストリームを読み取るための最良の方法は何でしょうか?

4

1 に答える 1

1

長期間有効なアクセストークンをリクエストできます

https://developers.facebook.com/roadmap/offline-access-removal/ 

ただし、アプリアクセストークンを使用してプライベートユーザーストリームを読み取ることはできません。ユーザーアクセス許可であるため、ユーザーaccess_tokenを使用してストリームを読み取ることしかできません。そのため、ユーザーアクセストークンを使用して、そのアクセス許可でアプリを認証したことを検証する必要があります。実際、ストリームテーブルのドキュメントを見ると、現在のセッションユーザーに対してのみ読み取ることができると記載されています(最初の2つの箇条書きの上の文です)

https://developers.facebook.com/docs/reference/fql/stream/

ただし、アプリアクセストークンは、ユーザーによる公開投稿を読み取ることができる必要があります。

長期間有効なアクセストークンの保存にどのような影響があるのか​​わからないため、TOSに違反していないことを確認するために調査を行う必要があります。

于 2012-08-29T17:07:36.717 に答える