2012-11-13 89 views
-3

我想通過我的服務器上的cron發佈到我的網站的Facebook粉絲頁面。Facebook訪問令牌無效 - 嘗試通過應用程序使用cron發佈到Facebook網站 - 「頁面」

我在Facebook上創建了一個名爲「John Doe」的用戶,我在他的Facebook粉絲頁上讓他做了管理員,然後我在該用戶的沙箱模式下創建了一個應用程序,所以只有他,「John Doe」運行。

我給了我的應用程序從「John Doe」誰運行它的必要權限。

我可以通過developers.facebook.com手動獲取訪問令牌,並使用它們從我的php cron腳本通過「John Doe」的應用程序發佈到我的網站的Facebook粉絲頁面。

問題是,爲了這個工作,我的「John Doe」Facebook用戶必須登錄。

我應該怎麼做,所以我的網站php cron腳本總是自動有效的訪問令牌,因此它可以通過管理員「John Doe」正在使用並允許訪問的應用程序成功發佈到網站的Facebook粉絲頁面?

現在我手動登錄到Facebook作爲「John Doe」,我將從developers.facebook.com訪問令牌複製到我的PHP腳本,它的工作原理。

(在我的網站的Facebook粉絲頁Succesfull職位,其顯示「mywebsite通過MYAPP共享的鏈接」,所以我敢肯定,除了訪問令牌一切是確定)

預先感謝您

+0

不是在一個新的問題,所有的Facebook頁面所有 - 請做一些你自己的研究! https://developers.facebook.com/roadmap/offline-access-removal/ - 也請按照本文底部的鏈接。 – CBroe

回答

4

這個問題與我自己的question非常相似,我花了2天時間來解決這個問題。解決方案非常簡單。

  1. 設置你的應用本地/桌面這樣你可以得到一個60天的令牌(你把這個永久更高版本)。進入https://developers.facebook.com/apps/編輯設置>高級>在應用程序類型中選擇本機/桌面。

  2. 轉到https://developers.facebook.com/tools/explorer/選擇您的應用程序,並獲得訪問令牌

  3. 擴展權限選項卡,選擇manage_pagespublish_stream

  4. 現在你有一個60天的臨時標記。

  5. 爲了讓您永久的標記,去這裏和使用臨時令牌:https://graph.facebook.com/me/accounts?access_token=REPLACE_THIS_WITH_YOUR_TEMPORARY_TOKEN

您應該看到永久訪問令牌,你是一個管理員

+0

步驟1對服務器端Oauth流程沒有影響 - 同樣,由於依賴於Facebook的某個調試工具,您的解決方案僅對應用程序開發人員有用 - 它們應該使用來自文檔 – Igy

+2

Best的服務器端oauth流程。響應。永遠。 – Rivers

3

參見https://developers.facebook.com/docs/roadmap/completed-changes/offline-access-removal/ - 特別方案5 -

  1. 使用服務器側的Oauth流(見Login文檔的詳細信息)鄰btain的頁面管理員訪問令牌(其中有manage_pages許可)

  2. 檢索頁面訪問令牌你從/me/accounts/<PAGE ID>?fields=access_token檢索。

本頁訪問令牌將有無限的到期,這意味着它不會過期,除非,除非用戶不再是在網頁的管理員,將刪除你的應用程序,殺死了他們的所有應用程序會話等

相關問題