2012-02-13 148 views
0

如果我理解正確,Graph API允許使用通用訪問令牌訪問公共頁面。然而,我發現當使用這種類型的令牌與用戶令牌時,許多公共頁面不會在搜索結果中返回。我不希望用戶只需要通過OAUTH對話框來檢索公共頁面的基本屬性。Facebook Graph API和通用訪問令牌

我在做什麼,或者理解錯誤:

下面這個例子使用的任何用戶訪問令牌,但使用沒有結果時,通用訪問令牌時,會返回一個結果?

https://graph.facebook.com/search?q=OSullivansHerndon&type=page&access_token={myuseraccesstoken}

https://graph.facebook.com/search?q=OSullivansHerndon&type=page&access_token={APPID|APP SECRET}

+0

我們強烈建議你接受一個答案 – Oybek 2013-06-24 18:19:23

+0

@Oybek他得到了他從堆棧溢出需要什麼,他不會回來,直到他有一個需要解決的另一個問題。 – Tonithy 2013-07-23 23:13:20

回答

1

我懷疑你需要一個用戶訪問令牌作爲搜索結果使用社交上下文中使用/搜索。如果你有頁面ID,你可以加載,沒有任何訪問令牌,只需點擊/編號

+2

實際上,如果使用了應用程序訪問令牌,則經過多次測試後,它看起來像是任何具有國家或年齡限制的頁面都不會被圖API返回。所有沒有限制的公共頁面都可以正常返回。我想這是因爲FB無法根據APP令牌來確定國家或年齡。 – Greg 2012-02-13 19:26:37

+0

格雷格是正確的。 – 2012-08-01 21:34:11

+0

所以我們如何解決這個問題,在這個頁面https://developers.facebook.com/docs/reference/api/有一個訪問令牌,它返回更好的結果 – 2012-08-16 21:01:13

1

我不認爲你可以得到這個沒有用戶訪問令牌的工作。從我有限的OAUTH是唯一的出路。

1

通過指定GRAPH API 用戶令牌,您只是表示您正在使用用戶首選項和信息。 如果你的意圖是要獲取一些公共頁面信息,那麼你需要該頁面的用戶名或用戶名。而且,如果您的意圖是要獲取可供您的特定用戶使用的所有公共數據,那麼您必須通過oAUTH系統,因爲間接您正在訪問他的信息,這些信息在某些Facebook治理規則下是公開的。

通過提供用戶ID

https://graph.facebook.com/19292868552 

通過編寫一個頁面的ID訪問公共頁面,您的CA Access的信息。現在的問題是如何訪問該特定頁面的ID,手動只需訪問該頁面 - >相冊。在該頁面的頂部,您將看到類似「專輯視頻」。只要訪問該鏈接的任何一個。現在看,woola該頁面的ID是可見的。像這樣的網址

http://www.facebook.com/media/albums/?id=176101909092314 

順便說一句,如果你有興趣執行搜索,那麼你需要指定用戶令牌。 Facebook爲所有用戶進行算法搜索並跟蹤用戶活動。所以,作爲一個例子,結果對於你我來說並不總是一樣的。

10

您可以爲您的應用程序獲取一個通用訪問令牌,以便您查看請求,否則您需要在圖形調用中使用access_token=參數。由於訪問令牌是針對應用程序的,因此您無需對用戶進行身份驗證。

https://graph.facebook.com/oauth/access_token? 
client_id=YOUR_APP_ID& 
client_secret=YOUR_APP_SECRET& 
grant_type=client_credentials 

例如:

https://graph.facebook.com/nike/posts?access_token={response from above call} 
+0

我錯誤地使用了Access_Token,事實證明需要使用小寫字母。 – 2014-02-02 09:20:42