2014-01-26 15 views
1

我是新來的facebook API。我一整天都在閱讀文檔,但是我仍然無法理解它是如何工作的。Facebook API - 每個用戶的永久密鑰

我是使用官方的php-sdk,我認爲我會爲每個用戶獲得永久密鑰,我可以插入數據庫並每次需要調用用戶數據的API。

是否有可能得到這樣的東西?永久密鑰?

我已閱讀Facebook login – access tokens,但我仍然無法使它工作。

這是我唯一認爲的作品:http://pastebin.com/Dq65pZaU。在每個用戶擁有永久密鑰後,如何調用API?我可以編輯它自己:)只是想顯示你的來源。對不起,對於愚蠢的問題,但FB api對我來說就像是地獄。

+1

這是有可能前一陣子,要求'offline_access'許可,但沒有任何更多。現在,您最多隻能獲得一個擴展標記,即有效期爲60天,之後您將不得不獲得一個新標記。順便說一句,這已經多次討論過了,所以請做一些適當的研究。 – CBroe

+0

我的英語可能不好做出好的搜索查詢,我很抱歉。謝謝,我會發現它。這有點煩人。 – Northys

回答

1

要剪短一條大新聞:

當使用OAuth認爲你有兩件事情要做。首先將用戶登錄到oAuth應用程序,然後請求一個令牌,代表用戶將授予您該應用程序的權限。 要定義用戶可授予您的權限,請使用範圍。範圍定義了一些屬性組。如果要存儲用戶的ID,以備將來參考輪廓線EG範圍=生日等等等等

Facebook的SDK提供了一個FB USER_ID。但是爲了打電話給API,那麼你需要存儲和使用令牌。

令牌可以持續2小時。當令牌過期時,你需要獲得一個新的。

您需要通過實現對標識的有效性檢查,可嘗試並且用令牌調試器或其他方法失敗。

如此反覆,登錄用戶的Facebook,問回回閱讀電子郵件如權限。用戶授予他們,然後你得到一個令牌和一個用戶ID。使用令牌調用,如果它不能正常工作,則需要向用戶請求一個新的,通過重新登錄他在等

最後有方法的程度令牌的使用壽命或要求一個新的(交換)。

所有這些方法都記錄here

我希望這使得它有點清楚。

疑難雜症:

- 通常一個網絡服務器流量授予您有60天的令牌。見討論here

- 使用調試器在記號找到信息關於它here

+0

如果我瞭解你 - 無法每2小時加載一次fb就無法讓我的應用程序工作?因爲Facebook在學校被封鎖。編輯:現在我讀了上面的評論。謝謝你的解釋:) – Northys

+1

正如我所說,你可以延長到2個月的生命,是的,它可以通過訪問它 –

+0

好吧,我會用[setExtendedAccessToken()](https://developers.facebook.com/docs/reference/php/facebook-setExtendedAccessToken /)之前,我會打電話,如果我沒有得到任何迴應,我會問用戶再次登錄,對吧? – Northys