這聽起來像一個愚蠢的問題,但我不明白令牌的工作方式。用應用程序訪問令牌調用facebook api並從用戶頁面檢索提要
上下文:我有一個web應用程序,用戶可以按下一個按鈕,然後用他們的facebook憑據登錄,給我'manage_pages'權限。 webapp的想法是在服務器上每5分鐘運行一個cron,它將檢索用戶的帖子並將它們顯示在webapp中。
步驟:
- 用戶點擊該按鈕,登錄到Facebook的(這樣我就可以有一個訪問令牌,讓我們稱之爲用戶訪問令牌)。
- Webapp發出請求'/ me/accounts'(使用用戶訪問令牌),這樣我就可以獲得其中一個用戶頁面的頁面ID。
- 向我的內部API發送Web應用程序請求,並在DB中存儲用戶的PageID。
現在,我已經提到了每5分鐘提出一個請求'{page_id}/feed'來獲取此頁面的帖子,然後在我的webapp中顯示它們。要做到這一點,我使用PHP SDK的PHP和我做的:
- 用我的應用程序ID和我的祕密登錄。
- 我得到一個訪問令牌(姑且稱之爲我的應用程序內的訪問令牌)
我的要求去做「{PAGE_ID} /飼料」,發送我的應用程序內的訪問令牌但失敗
- 那麼,爲什麼它失敗?我知道這是與訪問令牌有關,因爲如果我使用用戶訪問令牌我可以在服務器中請求罰款,但如果我使用my-app-access-token,我可以不。
- 爲什麼我不能使用my-app-access-token如果用戶授予我manage_pages權限?
- 我想到的替代方案是,在步驟上,我也可以存儲用戶訪問令牌。但如果我這樣做,我認爲這個令牌會在一段時間後過期,對吧?
感謝。我一直在讀一點。據我瞭解,**長壽命**頁面標記不會過期。所以,我應該尋找替代方案:當我將頁面ID發送到我的分貝時,我可以存儲該標記(實際上,因爲它將是一個短暫的標記,所以我可以使用我的應用標識+我的祕密+用戶頁面的頁面標記,並生成一個**長期**標記並存儲那個沒有到期時間的標記 –
您需要首先擴展短期用戶標記,然後請求具有擴展用戶令牌的頁面令牌。 – CBroe