2

Facebookアプリケーションを作成しようとしています。Facebookユーザーからの権限を簡単に使用できます。そして、FQLを使用してさまざまなFacebookテーブルからいくつかのデータをフェッチしようとしています。これらは私のアプリケーションが持っている権限です:

{
   "data": [
      {
         "installed": 1,
         "read_stream": 1,
         "status_update": 1,
         "photo_upload": 1,
         "video_upload": 1,
         "email": 1,
         "create_note": 1,
         "share_item": 1,
         "publish_stream": 1,
         "read_insights": 1,
         "manage_notifications": 1,
         "read_friendlists": 1,
         "publish_actions": 1,
         "user_birthday": 1,
         "user_religion_politics": 1,
         "user_relationships": 1,
         "user_relationship_details": 1,
         "user_hometown": 1,
         "user_location": 1,
         "user_likes": 1,
         "user_activities": 1,
         "user_interests": 1,
         "user_education_history": 1,
         "user_work_history": 1,
         "user_website": 1,
         "user_groups": 1,
         "user_events": 1,
         "user_photos": 1,
         "user_videos": 1,
         "user_photo_video_tags": 1,
         "user_notes": 1,
         "user_questions": 1,
         "user_about_me": 1,
         "user_status": 1,
         "user_games_activity": 1,
         "user_subscriptions": 1
      }
   ]
}

つまり、ストリームテーブルからデータをフェッチする権限があります。それが必要なread_streamのでread_insight。これは、データをフェッチするための私のURLです。

https://graph.facebook.com/fql?q=SELECT likes, comments, post_id, actor_id from stream where source_id=SOURCE_ID&access_token=MY_ACCESS_TOKEN

しかし、結果は { "data": [ ] }

完全に空です。エラーは発生しません。

ただし、ユーザーアクセストークンを使用する同じ権限を持つグラフAPIアクセストークンで試してみると、データを簡単に取得できます。

アプリのアクセストークンを使用してストリームテーブルからデータをフェッチできませんか?アプリのアクセストークンを使用してそれをフェッチする方法はありませんか?

私のアプリのアクセストークンはエラーを出していません。アクセストークンの問題は何ですか?

4

1 に答える 1

0

streamアプリアクセストークンを使用してデータをフェッチすることはできません。このデータを取得するには、アプリに対してユーザーを認証し、ユーザーアクセストークンを使用する必要があります。Graph APIエクスプローラーでアプリケーションを変更すると、アプリケーションはユーザーを認証し、ユーザーの名前でユーザーアクセストークンを取得します。

また、「プライバシー設定」には、ユーザーがアプリによるデータへのすべてのアクセスを禁止できる設定があることに注意してください。これが設定されている場合、アプリまたはAPIエクスプローラーのいずれにもその特定のユーザーの何も表示されません。

空のデータセットは、要求したデータを表示するために必要な権限がない場合のFacebookの通常の結果です。APIドキュメントを詳しく調べると、Facebook APIサーバーは最初にクエリを実行し、次に結果をフィルタリングして、アプリとアクセストークンに表示される内容を表示します。そのフィルターはすべてのデータを削除できるため、空のデータセットが返されます。

于 2012-10-10T12:06:00.953 に答える