這篇文章比較硬一些 主要是因為會需要動手與了解程式運作 但整體能不去操作 可怕的FB排程發文介面已經很感動不已 因為在大量排文章時 絕對能理解有多痛苦
使用這工具教學 最大的好處在於 效率的提升 只是想要把資料 發出去 卻想不到 該怎麼做些引詞 這時候 就是 chatGPT的強項 透過 API的方式 讓其運作 效率驚人(20美金網頁版的 還要等他慢慢跑 但 這API版本 甚至是10幾條一起同步運作)
需安裝 Google 試算表中 的 外掛 ChatGPT in Google Sheets and Docs
這主要的功能是 透過 chatGPT的API 來使用(與20美金的網頁版分開計價)
可以調整使用的 模型是哪個版本 ex: GPT 3.5 , GPT 4 費用是依照使用的 token 計價
所以在 Google 試算表中 如果使用完後 建議將數值複製 僅貼上值 放置到旁邊 避免再次用到被計費
其中會用到 Google 試算表中的 apps script
值得一提的事情是 這些還是 chatGPT 所生產的程式碼 在經過一些的改良 不得不說 chatGPT 寫程式的能力不錯 能加速開發 但錯誤要靠人工糾出來
function publishToFacebook() { // 在 Google Sheets 中選擇包含文章資訊的工作表 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('文章'); // 使用 Facebook API 發布文章到粉絲專頁 var accessToken = '你的帳號TOKEN'; var pageId = '你的粉絲頁ID'; // 其他設定 var apiEndpoint = 'https://graph.facebook.com/' + pageId + '/feed'; // https://graph.facebook.com/{page-id}/photos?url={image-url}&message=your message var apiEndpoint_img = 'https://graph.facebook.com/' + pageId + '/photos'; // 獲取該工作表中的所有行數據 var data = sheet.getDataRange().getValues(); // 迴圈遍歷每一行資料 for (var i = 1; i < data.length; i++) { var row = data[i]; // 解析每一行的欄位資訊(假設欄位分別是標題、內容和排程時間) var title = row[0]; var content = row[1]; var imageUrl = row[2]; var scheduleTime = row[3]; var ck_post = row[4]; // 檢查是否已經到達排程時間 if (new Date() >= new Date(scheduleTime) && ck_post == "") { console.log(title,content,imageUrl,scheduleTime); if(imageUrl){ var payload = { access_token: accessToken, message: title + '\n\n' + content, url: imageUrl }; }else{ var payload = { access_token: accessToken, message: title + '\n\n' + content }; } var options = { method: 'post', payload: payload }; // 發送 API 請求 if(imageUrl){ var response = UrlFetchApp.fetch(apiEndpoint_img, options); }else{ var response = UrlFetchApp.fetch(apiEndpoint, options); } // 確認 API 請求的回應狀態 if (response.getResponseCode() == 200) { // 發布成功,可以進行相應的後續處理 sheet.getRange(i + 1, 5).setValue('已發布'); } else { // 發布失敗,可以進行錯誤處理 sheet.getRange(i + 1, 5).setValue('發布失敗'); } } } }
FB開發人員工具: https://developers.facebook.com/
取得存取權杖Access Token
要如何建立應用程式並取得Facebook的粉絲專頁永久存取權杖(Access Token)呢?
建立Facebook應用程式
在取得永久存取權杖(Access Token)之前,會需要先建立應用程式,若已經建立過了就可以直接跳到下個步驟,繼續取得粉絲專頁的Access Token,若還沒有建立過,可以到從下方網址進入開始建立Facebook應用程式(Facebook APP)。
➤ 前往建立 Facebook App:https://developers.facebook.com/apps/
如果不會的話,可以參考這一篇Step1~3的步驟(應用程式類型可選擇「企業商家」):「【網站第三方登入】網頁申請Facebook登入認證設定教學|天矽科技網頁設計」,完成後,就可以看到你建立好的應用程式了,像圖片這樣。
取得Facebook粉絲專頁永久存取權杖
如何取得Facebook粉絲專頁的永久存取權杖?
Step1.
同樣的,我們需先進入Mata of Developers並找到你建立好的應用程式,並點選已建立的應用程式進入。
➤ 前往Facebook App:https://developers.facebook.com/apps/
Step2.
進入應用程式後,在左側的產品下方中,找到「Messenger」、選擇「設定」。
Step3.
進入後,在「存取權杖」區塊中選擇「新增或移除粉絲專頁」。
如果你還沒有粉絲專頁,可以點選右上方的「建立新的粉絲專頁」,要先有粉絲專頁才能繼續步驟喔!
Step4.
點選「新增或移除粉絲專頁」按鈕後,會彈出操作視窗,跟著指示進行即可。
Step5.
完成後,就可以在存取權杖中看到粉絲專頁的選項了,這時請點選「產生權杖」,產生後,權杖欄位就會顯示「已產生權杖」。
Step6.
選擇產生權杖後,會彈出權杖視窗,這裡會自動產生「粉絲專頁永久全權杖」,這裡請勾選「我瞭解」並「複製字串」即可完成。
檢查Facebook權杖期限
取得權杖後,我們還是要再次確認的期限是否為永久,這時可以直接進入「Mata 存取權杖偵錯工具」進行確認與測試。
➤ 前往Facebook 存取權杖偵錯工具:https://developers.facebook.com/tools/debug/accesstoken/
當上述手動運作大致沒問題時 還可透過 Apps script 的排程 來設定自動驅動
就可以達到定時發文的效果
參考資料:
1. 我如何用ChatGPT AI 1小時巨量產生1000條社群分享貼文 | Google Sheets
2. 網站串接Facebook粉絲專頁API?取得FB粉專永久存取權杖Access Token!
https://www.tsg.com.tw/blog-detail2-253-0-fb-token.htm