2012-11-14 45 views
0

這讓我非常瘋狂。我建立了一個FB應用程序,並通過訪問https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET來獲取訪問令牌。Facebook API - 訪問令牌適用於某些請求

現在我想要抓住一個(公開提供)從這個URL飼料:https://graph.facebook.com/PAGE_OR_USER_ID/feed?access_token=ACCESS_TOKEN

它正常工作時,我嘗試用我自己的用戶ID,甚至當我嘗試另一種隨機的頁面,但它不工作當我輸入PAGE_ID時,我需要它來處理。

下面是一些例子:

這工作正常(我的Facebook頁面的朋友): https://graph.facebook.com/tatchit/feed?access_token=213451182120494|JgAwuCE74lh51t1pKMuRM2mz3GU&limit=10&offset=0

這也能正常工作(我自己的Facebook ID): https://graph.facebook.com/al.dev.7/feed?access_token=213451182120494|JgAwuCE74lh51t1pKMuRM2mz3GU&limit=10&offset=0

這並未't工作(客戶的Facebook頁面): https://graph.facebook.com/142616539131188/feed?access_token=213451182120494|JgAwuCE74lh51t1pKMuRM2mz3GU&limit=10&offset=0

我沒有得到任何錯誤,但結果是e MPTY。

如果我嘗試圖形API瀏覽器也能正常工作: https://developers.facebook.com/tools/explorer/?method=GET&path=142616539131188%2Ffeed

但如果我輸入自己的訪問令牌。據我所知,您在API Explorer中獲得的訪問令牌是暫時的,所以我不想使用它。

這怎麼可能?

另外。我掙扎現在明白這整個訪問令牌,客戶端ID,應用ID業務的年齡 - 有一個很好的教程,所有這些東西被解釋呢?我從來沒有這樣的工作沒有問題。

謝謝

回答

1

您應該使用用戶訪問令牌上述所有查詢。應用程序訪問令牌用於您想要執行諸如查看應用程序見解等操作的情況。

當頁面有年齡限制或東西,所以,應用令牌不會能打通,但由於用戶已經在網頁中的一員,您可以使用用戶訪問令牌來獲取數據。

添加:從文檔引用,

Note that the **app access token** is for publishing purposes permitted by the publish_actions and publish_stream permissions. You will be **unable to retrieve information** about the status update post with the given ID using the app access token. Instead, you should use a **user access token** for such purposes. 

的其它能力的應用程序訪問令牌 有一組有限的信息,可以從Facebook使用應用訪問令牌來檢索。

Basic Profile Info of a User (ID, Name, Username, Gender) 
    A User’s Friends and their IDs 
    Permissions granted by the User to your App 

閱讀:https://developers.facebook.com/docs/opengraph/using-app-tokens/

所以,你應該用user_access令牌來訪問你所尋找的,不是一個應用程序的的access_token所有信息進行查詢。

+0

您是否說爲了讓我在我的網站上顯示Facebook頁面的Feed,訪問我的網站的用戶需要通過我的網站(「使用Facebook登錄」)登錄Facebook,以便我可以將該信息傳遞給Facebook?有沒有辦法顯示Facebook供稿_without_沒有用戶登錄? (儘管我提供了前兩個例子) – powerbuoy

+0

據我所知,取決於頁面的類型。某些頁面有年齡限制,應用程序access_tokens無法進入這些頁面。 (被標記的頁面 - 包含限制年齡的酒精) 您需要用戶在他需要添加應用程序時手動登錄。爲什麼不獲得用戶訪問令牌呢? (延期到期或正常期)。使用user_access標記來檢索,app_access標記只能用於發佈(這就是FB要我們做的事情,不代表應用程序access_token無法檢索,但它是有限的。)我更新了我的答案。覈實。 – Kishor

+0

好的謝謝。事情是,我不需要我的訪客「登錄Facebook」。我使用該應用程序的所有內容都是獲取訪問令牌來獲取我的Feed。但我試圖從中提取的頁面實際上是一個與年齡限制有關的酒精,所以我想這就是爲什麼然後。 – powerbuoy