2012-10-18 310 views
1

我有一個Android應用程序,用戶使用Facebook進行身份驗證。現在,我向我的服務器發送了一個post請求,並且我將facebook的access_token發送到了這臺服務器。在服務器上,我現在想通過將access_token傳遞給facebook圖形API來訪問用戶信息。有沒有解決方案?問題是用戶只是使用應用程序,Web服務器必須使用access_token進行身份驗證。謝謝!php facebook圖形API查詢access_token

+0

當然,這是可能的 - API不關心那裏的訪問令牌是從哪裏來的,只要其有效。 – CBroe

+0

那麼我怎麼會這樣做在PHP中,這是我的問題。抱歉。 – Phil123

+0

您已經擁有access_token,爲什麼不使用Graph API來獲取用戶信息? –

回答

6

是的 - 它實際上非常「簡單」(就Facebook而言)。

帶您通過以下步驟:

  1. 設置:在Facebok的開發應用,請確保您爲相同的應用程序同時設置移動(Android)和網站設置。他們需要分享App ID和祕密
  2. 設置:下載PHP SDK for Facebook。這使得與原始「圖形」調用進行對抗變得更簡單。
  3. 過程:當用戶在您的手機上登錄時,您將獲得「訪問令牌」。這是您想要傳遞給PHP服務器的項目。
  4. 過程:在PHP中,初始化Facebook類時,請告訴它不要使用cookie。
  5. 過程:在PHP中,在初始化該類之後,使用SDK中的SetAccessToken函數來使用您在移動應用程序中獲得的訪問令牌。
  6. 過程:然後,當您執行/me調用時,您將成爲在手機上獲取令牌的用戶。

代碼示例:

$facebook = new Facebook(array(
    'appId' => 'YOUR_APP_ID', 
    'secret' => 'YOUR_APP_SECRET', 
    cookie : false 
)); 

// Use the token you sent 
$facebook->setAccessToken($sentToken); 

// Get User ID 
$user = $facebook->getUser(); 
+0

向圖api發出請求非常感謝,第5步幫助我繼續下去! – Phil123