如何不寫程式取得 Facebook 粉絲專頁永久 Access Token?

我們需要透過 Facebook 提供的圖形 API(Graph API)來取得每個粉絲專頁的權杖(token)。
以下是 Facebook 文件中對於 Graph API 的描述:

圖形 API 是在 Facebook 社交關係圖存取和輸出資料的主要方法。這是低層級 HTTP 型 API,可用來查詢資料、發佈新動態、上傳相片、以及各種應用程式可能要進行的工作。本指南旨在說明如何透過圖形 API 完成上述所有工作。

步驟 1:前往 Graph API Explorer

進入 Facebook for Developers(http://developers.facebook.com)後,選擇「工具及支援」,找到「圖形 API 測試工具(Graph API Explorer)」。

Facebook for Developers 的「工具及支援」頁面

步驟 2:選取 Facebook App

接著在應用程式(Applications)下拉選單中,選擇用於取得 Access Token 的 app。這裡以我先前創的,名為「小克’s 部落格」的 app 為例。尚未建立 app 的話可以到 https://developers.facebook.com/apps/ 先建一個,這裡不再贅述。
選擇要授權的目標 App

步驟 3:取得 User Access Token

接下來這一步很重要,我們要勾選要給予什麼權限給 App。先點選「取得權杖(Get Token)」中的「取得用戶存取權杖(Get User Access Token)」。
取得用戶存取權杖

此時會跳出一個「選擇權限(Select Permissions)」視窗,選擇你想要授權的權限。這裡以我想要用 API 張貼文章到粉絲專頁為例,我需要的權限為「publish_pages」和「manage_pages」。選好後點選下方的「取得存取權杖(Get Access Token)」
選擇需要的權限

接著就會跳出 Facebook app 常見的授權視窗,此視窗先授權帳號的基本公開資料。
enter image description here

授權後會再跳出進階的授權選項,請依需求授權(如:僅授權部分粉絲專頁)。
enter image description here

步驟 4:延長/換取長期 Token

授權後,會拿到一組短期的用戶存取權杖(short-lived user access token)。點擊 Access Token 欄位中的 ⓘ 可以看到這個 token 的相關資訊,目前這組 token 是有到期時間的。這時選擇下方的「以存取權杖工具開啟(Open in Access Token Tool)」。
enter image description here

網頁會跳轉至 Access Token Tool,我們可以在這裡看到這個 token 詳細的屬性。
enter image description here

點擊下方的「展延存取權杖(Extend Access Token)」
enter image description here

即可取得長期權杖(long-lived access token)。
注意:這時候的「長期」可能只有 60 天
enter image description here

步驟 5:取得永久粉絲專頁 Access Token

將以上 long-lived access token 複製貼回 Graph API Explorer 的 Access Token 欄位,按下右方提交(Submit)按鈕。
enter image description here

此時點擊 Access Token 欄位中的 ⓘ,可以看到這組 user access token 的資訊中,已經沒有顯示 Expiration Time,代表此組 user access token 已經沒有時效限制。
enter image description here

保險起見,我們可以進到 Access Token Tool 確認,確實顯示到期日(Expires)欄位顯示為永不(Never)。
enter image description here

回到剛剛的 Graph API Explorer 頁面,將下方的 GET 要求(GET request)欄位的網址修改為 me/accounts,即可一次取得所有粉絲專頁的永久權杖(permanent page access token)。
enter image description here

可以個別拿去 Access Token Tool 確認,這裡就不再贅述了。

參考資料

更多資料可以參考 Facebook 文件:行銷 API - 手動取得存取權杖