6

目前我正在使用桌面Windows服務下載我的Facebook頁面見解/頁面贊/朋友等圖形數據。所以,爲此,我在我的Facebook頁面上添加了應用程序,並生成了完全權限的離線訪問令牌。所以,使用我從上一年正確下載我的Facebook頁面的見解。
但是,由於Facebook棄用了離線acccess令牌。 請任何人都可以幫助我如何生成訪問令牌的完全權限下載我的網頁洞察數據,而無需登錄(在任何用戶/用戶對話框(允許等))。Facebook完全權限AccessToken替代離線訪問令牌

現在,我試圖&通過一些API會生成訪問令牌如下: - https://graph.facebook.com/oauth/access_token?client_id=xxxx&client_secret=xxxxx&grant_type=client_credentials

但是,使用上面的調用我得到的訪問令牌(短令牌) - 如: -

123484913842345|jkioEjsRAhFrNdertg9zuxPiopl 

使用上面訪問令牌得到以下錯誤,當嘗試,看看圖形數據: -

{"error": {"message": "Unsupported get request.","type": "GraphMethodException","code": 100 }} 

但是,我發現這個訪問令牌沒有完整的權限&也壽命短。

當我使用我的舊離線訪問令牌時,它會正確給出響應。 (這個令牌在一段時間後會關閉)。因此,生成大約60天的同一類型的訪問令牌。 請幫助我。我如何以完整的110字符長度生成訪問令牌。 (用戶/ UI活動)

回答

3

要解決此問題,您需要extend短期標記。

您也可以debug訪問令牌沒有任何用戶交互,以查看擴展訪問令牌的操作是否有效。

這個link是關於離線訪問到期的很好的參考。

當你使用這個網址調試訪問令牌:

https://graph.facebook.com/debug_token?input_token=INPUT_TOKEN&access_token=ACCESS_TOKEN

的input_token是用戶訪問令牌

ACCESS_TOKEN是應用程序的訪問令牌這是像這樣形成的:APP_ID | APP_SECRET 爲了澄清這一點,如果我的應用程序ID是123 &應用程序的祕密是abc那麼應用程序a CCESS令牌是123|abc

+0

感謝您的回覆。 – 2013-03-04 06:42:16

+1

感謝您的回覆。這對我很有用。根據您的回覆標識訪問令牌過期時間: - 我正在使用以下API: - https://graph.facebook.com/debug_token?input_token=INPUT_TOKEN&access_token=ACCESS_TOKEN。任何人都可以幫我解決這個我們需要傳遞的參數(input_token&access_token)。其實現在我只有一個訪問令牌。但是,在API中 - 我們需要傳遞 - input_token&access_token。請幫助我: - 這兩個參數需要傳遞給我。 – 2013-03-04 06:52:35

+0

@SpunjJunior我編輯了我的答案 – Roni 2013-03-04 07:58:13

0

簡單的解決方案只是用PHP SDK

$facebook->setExtendedAccessToken(); 

調用以下功能和通過

$access_token = $facebook->getAccessToken(); 

OR

後得到推廣的訪問令牌
GET /oauth/access_token? 
    grant_type=fb_exchange_token&   
    client_id={app-id}& 
    client_secret={app-secret}& 
    fb_exchange_token={short-lived-token} 
+0

這是問題不是PHP相關。 – 2017-02-02 15:37:51