4

我有一個奇怪的問題,與Facebook的Oauth的access_token端點:Facebook上的Oauth的access_token andpoint不返回 「到期」 值

https://graph.facebook.com/oauth/access_token?    
    client_id=APP_ID& 
    client_secret=APP_SECRET& 
    grant_type=fb_exchange_token& 
    fb_exchange_token=EXISTING_ACCESS_TOKEN 

文檔here(在 「方案3」)說: 「如果呼叫在該用戶仍然存在有效的長期用戶access_token的情況下,從第二次調用返回的用戶access_token可能是相同的或者可能已經改變,但是在任何一種情況下,到期時間將被設置爲很長的到期時間。

如果我獲得有效的長期用戶access_token,則此端點會返回我已具有的相同訪問令牌,並且也會過期參數,但僅適用於短期。 因此,如果我在一段時間後(例如幾個小時)用相同的access_token重複同樣的呼叫,並且只返回沒有expires參數的access_token。 ...所以我無法建立我的access_token何時到期。 請注意,返回的access_token仍然有效,並且工作正常。

您是否遇到同樣的問題? 你有什麼建議嗎? 謝謝!

+2

我不明白 - 當用戶沒有主動使用你的應用/未登錄到Facebook時,你是否試圖擴展令牌? – Igy 2012-07-13 13:31:20

+0

正確。 這是一個背景過程。它在服務器上作爲背景進程工作,並且必須使用帶有長期用戶access_token的facebook insight API(因爲它不是具有瀏覽器執行登錄的uman用戶)。 所以我必須使用端點來知道到期時間有多少天。當天<10時,我必須通過電子郵件提醒用戶。 – 2012-07-13 17:51:54

+0

這是不可能的,用戶需要至少每60天回來爲他們維護一個活動令牌,例外是允許無限令牌的Ads API和Pages API - 您只能在實際使用應用程序 – Igy 2012-07-14 18:45:55

回答

0

我們遇到同樣的問題。我建議在數據庫中記錄到期時間。當然不是秒數到期,而是到期的實際日期/時間。 我們也會發送一封電子郵件,要求用戶續訂他們的令牌。如果有另一種方式提出請求,我們也有興趣瞭解它。詢問用戶另一件事(他們的電子郵件)聽起來不是一個好主意。