2017-03-18 49 views
0

我正在嘗試關注此doc以獲取長壽的用戶令牌。 (參見「從服務器端的長壽命令牌生成長壽命用戶令牌」)獲取「facebook代碼」以從服務器端獲取長期存取令牌。 Django

圖是相當明確的,而且我認爲這應該很容易。

但是,當我嘗試獲取「代碼」時,問題就出現了。

正如你所看到的,這應該是請求:

https://graph.facebook.com/oauth/client_code?access_token=...&client_secret=...&redirect_uri=...&client_id=...

但問題是,因爲我是在服務器端,我不能將用戶重定向,因爲這是一個客戶工作。 (是嗎?)

所以,因爲我得到這個錯誤:

{ 
    "error": { 
    "message": "Missing redirect_uri parameter.", 
    "type": "OAuthException", 
    "code": 191, 
    "fbtrace_id": "EqPakhHX9i6" 
    } 
} 

我嘗試這樣做:

&redirect_uri=https://www.google.com/&(看它是否吃的是URI)

但是,沒有機會。

我一直在尋找類似的問題,但人們用它來使用客戶端,和我沒有給客戶任何訪問。實際上,客戶正在等待我的code,如圖所示。

所以,我不知道我該怎麼做。

也許這裏有人有同樣的問題。

+0

所以,你指的是部分「生成長壽命用戶令牌從服務器端的長壽命令牌」? (這是該頁面上唯一一個代碼參數起作用的那個)。它描述了在客戶端創建長壽命令牌的過程。所以如果你沒有客戶端,那麼你首先要實現這個流程是沒有意義的。 – CBroe

+0

好吧,很酷,有沒有辦法在服務器端做到這一點?如果這是在客戶端,爲什麼它說「從服務器端」?這是我第一次在App中使用Facebook。也許這是一個愚蠢的問題,但我不知道我該怎麼做。 –

+0

您需要首先擁有短暫的用戶訪問令牌。獲取這些信息總是意味着首先要經過登錄流程,而這必須發生在客戶端(即用戶的瀏覽器中)。沒有辦法僅在服務器端登錄用戶。 – CBroe

回答

0

僅使用捲曲的下一個URL:

https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id={client-id}&client_secret={secret-id}&fb_exchange_token={short-token} 
相關問題