2012-01-30 88 views
1

假設我有一個通過Facebook PHP SDK登錄的用戶,並且我有權獲取bio(user_about_me)和education(user_education_history)。如果我想獲取這些數據,我會怎麼做呢?我知道,如果我想獲得用戶興趣,我只是運行真正基本的PHP SDK問題

$facebook->api("/me/interests"); 

但是,這不適用於生物和教育歷史。使用PHP SDK,我如何獲得這些數據?謝謝。

編輯:這裏是應用程序權限的圖片,以及用於請求權限的代碼。

The Permissions for My App

$login_url = $facebook->getLoginUrl(array('scope' => 'email, publish_stream, 
user_about_me, user_interests, user_education_history')); 

回答

2

你不能這樣做$facebook->api("/me/about") ; OR $facebook->api("/me/bio") ;這將拋出一個致命的錯誤:

Fatal error: Uncaught OAuthException: Unknown path components: /about thrown in 
[...]/base_facebook.php on line 1028 

如果你想得到user_abo ut_me和user_education_history您可以這樣做:

$user = $facebook->api("/me") ; 

然後解析$ user數組以獲得您需要的值。如果你使用教育歷史,那麼你可以這樣做:

$user_education_history = $user['education']; 

希望這會有所幫助。 :)

+0

奇怪的是,$ user數組不包含生物或教育。這是它總是應該的地方嗎? /我/返回應用程序有權獲取的所有數據嗎? – LonelyWebCrawler 2012-01-30 05:20:35

+0

@LonelyWebCrawler請看我的編輯。您需要授予權限 – Sabari 2012-01-30 05:36:58

+0

我向我的帖子添加了權限的圖片。它不是應該這樣工作嗎? – LonelyWebCrawler 2012-01-30 17:07:15

1

我記得facebook- $> API( '/我');獲取有關用戶的所有信息。

+0

不是生物或教育。 – LonelyWebCrawler 2012-01-30 05:13:38

+0

如果您有權限授予它,否則會排除它們。 – DMCS 2012-01-30 05:44:20

+0

請參閱我的編輯。 – LonelyWebCrawler 2012-01-30 17:07:34

0

只是用這樣的:

$facebook->api("/me") ; 

你可以從這個所有的用戶信息。只需解析你需要的數組。它輸出所有與用戶有關的信息。您將只獲取您有權獲取的信息。

更新: 所需權限:

bio: user_about_me or friends_about_me 
education:user_education_history or friends_education_history 

如果你想具體再使用:

$facebook->api('/me?fields=bio,education'); 
+0

我以前試過這個。它只返回用戶標識,而不是所需的信息。 – LonelyWebCrawler 2012-01-30 05:15:17

+1

api(「/ me」)是否僅打印用戶標識?它會給你有權限的所有數據。您是否有延長訪問生物和教育信息的許可? – 2012-01-30 05:30:41

+0

是的,當我進入我的帳戶設置並查看給予應用程序的權限時,生物和教育就是其中之一。 – LonelyWebCrawler 2012-01-30 16:41:39