1

我們有一款產品可以讓用戶安排發佈到Facebook。我們依賴於12月5日的離線訪問權限,即scheduled to be removed如何測試2012年12月與離線訪問相關的重大更改?

我們認爲我們已經實施了正確的60天會話延伸邏輯,但是測試有困難。

我們創建了一個新的測試Facebook應用並啓用了「2012年12月突破性更改」遷移設置。新用戶授權新應用程序(並且我們仍然請求offline_access權限)。然後我們擴展該會話,該會話返回沒有expires參數的同一會話令牌。當我們使用Access Token Debugger時,它表示令牌永不過期。

我們試圖在未通過offline_access權限的情況下執行授權,但永遠無法超過5760(4小時),因此似乎仍有必要通過。

我們非常想測試重大更改,但我們無法創建會話過期且必須不斷進行擴展的方案。我們如何測試這個?

回答

1

解決方法是,還有一個遷移設置「刪除offline_access權限」,該權限也必須啓用。只有在啓用「2012年12月突破性更改」遷移設置後,您的應用才能獲得60天的會話令牌。

這具有將現有永不過期會話令牌立即轉換爲60天過期令牌的不幸副作用。 Facebook表示他們將繼續尊重現有永不過期的令牌,但鑑於這兩項設置都必須啓用,您的應用程序將被迫將所有用戶視爲擁有60天令牌。

1

是的,我已經測試過。以下是使用Debugger和瀏覽器測試60天令牌的步驟。您可以調整您的應用的這些調用,並使用一些服務器端日誌記錄將令牌複製粘貼到調試器中,以確認令牌的到期日期。

首先,不要再要求offline_access了。使用Graph API Explorer獲得訪問令牌。將Application:設置爲您的應用。下面,我的應用程序被稱爲ES1:

enter image description here

(僅Apps,您是一位管理員或開發人員將出現在「應用程序」列表)

單擊「調試」按鈕並確認你有一個短期令牌:

enter image description here

注:沒有offline_access燙髮在前面的屏幕截圖。

做這個調用來交換短命令標記爲一個長壽命的標記。我只是將其粘貼到瀏覽器中。

https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=APPID&client_secret=APPSECRET&fb_exchange_token=SHORT_LIVED_TOKEN

結果令牌交換的:你會在你的應用程序的代碼有這個

enter image description here

,可以粘貼此新令牌在調試,以確認它在60天后到期:

enter image description here

所以,只是轉換上述STE將ps添加到您的應用程序中,記錄令牌,並在檢查這些令牌時檢查Debugger

相關問題