2012-01-25 13 views
4

私は現在、特定のユーザー、ページ、またはグループのウォールポストをキャプチャするFacebookブックアプリケーションを開発しています。方法グラフAPIを使用してFacebookブックの壁紙を取得しています

https://graph.facebook.com/ /フィード?access_tokenは=

我々は唯一の有効なトークンを必要として、これは、ページやグループのため正常に動作しますが、ユーザーのための結果は、ユーザーのアプリを許可されたユーザとの関係に応じて異なりますそのポストが捕獲されている。

たとえば、2人のユーザーの間に関係がない場合、一部の投稿は公開されていても表示されませんが、友だちの場合は返された投稿がさらに返されます。

誰かがこの現象を説明できますか?そして、この方法を使ってすべての投稿を得ることは可能ですか?

答えて

6

はい、https://developers.facebook.com/docs/reference/api/permissionsにリストされているアクセス許可ごとに、呼び出しの結果は関係によって異なります。

ただし、物事が公開されていて、ユーザーに属していないアクセストークンを使用すると、結果は返されません。私はこれがこの方法ではない時を覚えていない。グラフのAPIを使用してユーザーのアクセストークンを使用してパブリックポストを取得するという奇妙な理由(Facebookの部分の設計または省略による)に対しては、動作したくないだけです。

たとえば、あなたがここにいくつかの公共のアイテム

http://www.facebook.com/zuckしかし http://graph.facebook.com/zuck

見ることができる、あなたはアクセストークンなしで、ここから任意のフィードを取得するように見えることはできません

https://graph.facebook.com/zuck/feed

{ 
    "error": { 
     "message": "An access token is required to request this resource.", 
     "type": "OAuthException" 
    } 
} 

以下にないユーザーアクセストークンを追加してみましょうzuckに、またはzuckの友達に。アプリのアクセストークンについて

{ 
    "data": [ 

    ] 
} 

何:https://graph.facebook.com/zuck/feed?access_token= {} UserAccessToken

そして、ここでは、我々は何を得るのか?あなたが見ることができるように、それはあなたのアクセストークンと整合していないグラフを経由して、物事を取得するのは難しい https://graph.facebook.com/zuck/feed?access_token= {} AppAccessToken

{ 
    "error": { 
     "message": "Invalid OAuth access token signature.", 
     "type": "OAuthException" 
    } 
} 

を試してみましょう。

+1

おっと、私の悪い、それはURLの悪いコピー貼り付けでした。そこから/ feedが欠けていた。ミスを指摘してくれてありがとうLix – DMCS

+1

トークンなしで彼を降りることができるのは彼の大きな笑顔です。 "/ zuck/picture' – Lix

+1

どうして10Kになるの? ;) – Lix

3

私はユーザーの壁紙からフィードのほとんどを得ることができます。これは古い投稿ですが、誰かが自分の答えから欲しいものを得ることができれば幸いです。

アクセストークンを取得する前に(フィードを取得する)、複数の正しい「読み取りアクセス許可」のキーを追加する必要があります。 たとえば、「read_stream」と「user_status」を追加する必要があります(これは、正しいアクセストークンを生成するための最も重要なアクセス許可「キー」であることがわかりました。 "フィード)。

アクセストークンの生成に、GET、POST、またはBOTHのいずれかの権限を追加することができます。

ソースはここにある:私が見つけhttps://developers.facebook.com/docs/howtos/ios-6/#nativeauthdialog

ことの一つは、フィードを取得する方法は、好きな人のために作成されたページとFacebookページ(「ホーム/」ユーザーのからもたらされる(友だちを追加しません)) 異なっています。キーは、上記の「read_stream」、「user_status」となります。したがって、フィード内のすべてを取得するためにアクセストークンを生成するためには、両方のアクセス許可を追加する方がよいでしょう。

+0

権限キーのヒントをありがとう。私はread_streamパーミッションを最初に許可するだけで、他の人と共有しているすべての投稿を見ることができます。どういうわけか自分の投稿を見ることができません。 – Vincent

0

最新のAPIによると、

FB.api("/me/feed","get",function(response) {//callback}) 

が何もうまくいくはずです。 今は動作していますが、facebookで将来変更される可能性があります。

関連する問題