1

私は Facebook Canvas アプリケーションに取り組んでいます。アプリケーションの目的は、ユーザーのアカウントにアクセスし、投稿を収集し、投稿が写真タイプであることをプレビューすることです。

また、同じユーザーが他のユーザーの投稿を見ることもできます。

ユーザーが他のユーザーの投稿を見ている場合、一部の投稿のプレビューで、投稿の画像ではなく疑問符の画像が表示されます。ユーザーが投稿を直接開いて Facebook ページを投稿すると、画像が表示されます。

Graph API を使用して、投稿からプレビュー用の写真を取得しています。現在の構文は

https://graph.facebook.com/<OBJECT_ID>/picture?type=normal&access_token=<ACCESS_TOKEN>

ページアクセストークンと長寿命のユーザーアクセストークンを使用しようとしました。どちらの場合も、疑問符の画像が表示されました。

私の質問は次のとおりです。

  1. ユーザーが写真に許可を与えたときに、アプリケーションを介して実際の画像を見ることができないのはなぜですか?
  2. 画像が疑問符の絵かどうかを検出することは可能ですか?

EDIT 投稿IDではなく、OBJECT_IDを使用します。プレビューは写真投稿用です。投稿の object_id は、pictures Graph API で使用できる画像 ID です。

EDIT 2 Graph APIのみを使用する必要があり、他には何も使用しないでください。

編集 3 これらは、ユーザーから要求されるアクセス許可です: 「email」、「user_photos」、「manage_pages」、「read_stream」、「read_insights」、「user_hometown」、「user_location」、「user_birthday」。

4

1 に答える 1

0

ユーザーの写真(または友達)を取得したい場合は、必要な権限(user_photosとfriends_photos)を取得してください。私の意見では、fqlの方がはるかに優れています

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

またはグラフAPI&必要な権限を取得することを忘れないでください

ここに2つのfqlの例があります

SELECT src_big FROM photo WHERE aid IN ( SELECT aid FROM album WHERE owner IN (SELECT uid2 FROM friend WHERE uid1=me()) AND modified_major > 1349374365) ORDER BY created DESC

SELECT src_big FROM photo WHERE owner IN (SELECT uid2 FROM friend WHERE uid1= 100001785452297 ORDER BY rand() LIMIT 0,20 ) ORDER BY created DESC

最後に、プログラミング言語に facebook SDK を使用することをお勧めします

于 2013-10-09T09:04:23.383 に答える