你是不是也想用 AI Agent 或程式幫你自動發布 Instagram 貼文,卻在看官方文件時被「Token」、「Graph API」這些專有名詞搞到頭大?
別怕!這篇文章就是寫給完全不懂程式的骨灰級小白。我們不聊深奧的代碼,直接手把手帶你一步步點擊,只要跟著這三章的進度走,你也能輕鬆打造出自己的「AI 自動化小編」!
🛑 行前準備:檢查你的帳號(90% 的人都卡在這!)
在進入第一章之前,請先檢查你的臉書與 IG 帳號。如果這兩個沒設定好,後面一定會失敗:
- 你的 IG 帳號必須是「專業帳號」:請打開手機 IG 軟體,到「設定」裡檢查,將帳號類型切換為「創作者帳號」或「商業帳號」。
- 你的 IG 必須連結到一個 FB 粉絲專頁:API 是透過 FB 來控管 IG 的。請建立一個空的 FB 粉絲專頁,並在粉專設定裡把你的 IG 帳號綁定進去。
確認好了嗎?我們正式進入第一章!
🧱 第一章:Meta App 建立與測試人員設定
這個步驟是告訴 Meta 官方:「我們要建立一個自動化發文的通道了!」
步驟 1:建立 Meta 應用程式
- 用瀏覽器打開 Meta for Developers 網站,並登入你的 Facebook 帳號。
- 點擊右上角的 「我的應用程式 (My Apps)」,進去後點擊 「建立應用程式 (Create App)」。
- 畫面上會問你用途,請選擇 「其他 (Other)」 或是 「企業商業 (Business)」。
- 填寫應用程式的「顯示名稱」(例如:
my_ig_bot),電子郵件不用改,直接點擊 「建立應用程式」。此時可能需要輸入你的 FB 密碼進行驗證。
步驟 2:綁定測試 IG 帳號
因為我們的發文程式還在測試階段,必須指定哪一個 IG 帳號可以被測試:
- 進入剛剛建立的 App 後台,在左側選單找到 「應用程式角色 (App Roles)」 > 點擊 「角色 (Roles)」。
- 頁面往下拉,找到 「Instagram 測試人員 (Instagram Testers)」 區塊。
- 點擊 「新增 Instagram 測試人員」,在欄位中輸入你 欲發文的 IG 帳號用戶名(ID),然後點擊送出。
- 【超核心細節】:這時候 Meta 只是送出邀請。你必須登入該 IG 帳號的網頁版,點擊「設定」>「應用程式與網站」> 選擇「測試人員邀請」分頁,點擊「接受」。沒點接受的話,後面絕對拿不到權限!
🔑 第二章:金鑰權限勾選與長期 Token 獲取
這個步驟最關鍵,我們要拿到進入帳號的「通行證(Token)」,並且開啟「發文的權限」。
步驟 1:勾選發文權限(Scopes)
在 Meta 後台的設定中,你會看到一堆英文的權限開關。別慌,我們只需要勾選發文必須的幾項。
- 在後台選單中找到並新增 Instagram Basic Display 或 Instagram Graph API。
- 來到權限設定勾選頁面(如圖所示,系統會提供多種權限供勾選)。
- 請務必勾選以下核心權限:
instagram_content_publish(允許程式幫你發布內容)instagram_basic(允許程式讀取你的帳號基本資料)- 如果你要發 Reels 短影音,記得連同
instagram_manage_comments等相關權限一起勾選。
💡 傻瓜貼士:官方一共列出了 12 項相關權限。雖然並非每一項都強制要勾,但為了方便開發、避免之後因漏勾而報錯,直接全勾是最省事的做法!
步驟 2:產生你的第一把鑰匙(Token)與獲取 ID
- 在後台的 Instagram 設定中找到 「Token 生成器 (User Token Generator)」。
- 看到你的 IG 測試帳號出現在列表中,點擊它後面的 「Generate Token」。
- 系統會跳出一個 FB 登入授權視窗,一路點擊「同意」與「允許」。
- 網頁會顯示一串非常長的英文加數字密碼,這就是你的 短期存取權杖 (Short-Lived Access Token)。請立刻複製並貼到記事本存起來!同時,頁面上顯示的 User ID 也請一併抄下來。
步驟 3:讓 AI Agent 幫你升級成「60天長期金鑰」
剛剛拿到的 Token 只有幾小時就會過期。這時我們直接派 AI Agent 上場! 打開你的 AI 工具(如 ChatGPT、Claude),把下面這段指令(Prompt)複製過去,直接丟給它:
📋 給 Agent 的免腦指令: 「我剛剛拿到了 Meta API 的短期 Token。請讀取我接下來提供的變數,並幫我寫一段 Python 程式碼,向 Meta 伺服器發送請求,把這個短期 Token 換成 60天不重複登入的長期 Token (Long-Lived Access Token)。 短期 Token:
[貼上你剛剛複製的長串金鑰]App ID:[在Meta後台最上方可以看到的一串數字]App Secret:[在Meta後台左側「設定」>「基本」裡可以查到的密鑰]」
Agent 收到後會立刻吐出一段簡單的續期程式,你只要貼在電腦執行一次,就能拿到 60 天不失效的超級金鑰了!
🚀 第三章:一鍵發文程式碼部署(完全免改動主程式)
來到最後一步了!我們要讓程式動起來。為了做到傻瓜式管理,我們把「帳號密碼」跟「執行功能」分開。你只需要改動設定檔,主程式連碰都不用碰。
步驟 1:建立你的設定檔
在你的電腦桌面上建立一個資料夾,在裡面點右鍵新增一個一般的文字檔案,命名為 .env(注意前面有一個小數點,如果沒辦法命名,可以先存成 env.txt,用程式編輯器打開再另存新檔)。
請把你的資料填入這個檔案中:
程式碼片段
# 你的 Instagram 帳號 ID(在第二章步驟2取得的 User ID)
IG_USER_ID=987654321012345
# 你的 Meta 存取權杖(在第二章步驟3請 Agent 幫你升級完的 60 天長期 Token)
FB_ACCESS_TOKEN=EAAlYxxxxxxxxx_YOUR_LONG_LIVED_TOKEN_HERE
步驟 2:下載發文主程式碼
在同一個資料夾內,建立另一個檔案叫做 ig_auto_post.py。將下方完全無刪減、功能完整的程式碼複製並完整貼入:
Python
import os
import time
import requests
from dotenv import load_dotenv
# 自動尋找並讀取同資料夾下的 .env 檔案
load_dotenv()
# 從設定檔撈出剛才填寫的祕密資料
IG_USER_ID = os.getenv("IG_USER_ID")
FB_ACCESS_TOKEN = os.getenv("FB_ACCESS_TOKEN")
GRAPH_API_VERSION = "v20.0" # 目前官方穩定的版本號
BASE_URL = f"https://graph.facebook.com/{GRAPH_API_VERSION}"
def publish_instagram_post(image_url, caption):
"""
這個功能會分兩個階段,把你的圖片跟文字安全地送到 Instagram 官方伺服器並發布。
"""
if not IG_USER_ID or not FB_ACCESS_TOKEN:
print("【⚠️ 錯誤】找不到你的密鑰設定!請檢查 .env 檔案裡的帳號和 Token 是否填寫正確。")
return
print("\n[開始執行] 🚀 正在準備將貼文送往 Instagram...")
print("--------------------------------------------------")
print("👉 步驟 1/2:正在將圖片和文字打包成 Meta 媒體容器...")
# 準備發送給 Meta 的打包資料
container_url = f"{BASE_URL}/{IG_USER_ID}/media"
container_payload = {
"image_url": image_url,
"caption": caption,
"access_token": FB_ACCESS_TOKEN
}
try:
# 向 Meta 發出打包請求
response = requests.post(container_url, data=container_payload)
res_data = response.json()
# 檢查第一步有沒有成功
if response.status_code != 200 or "id" not in res_data:
print(f"❌【步驟 1 失敗】Meta 拒絕了請求。錯誤原因: {res_data}")
return
creation_id = res_data["id"]
print(f"✅【步驟 1 成功】媒體打包完成!獲得臨時發布編號: {creation_id}")
# 傻瓜細節:Meta 處理圖片需要時間,程式必須在這裡強制休息 5 秒,否則直接下一步會報錯!
print("⏳ 正在等待 Meta 伺服器處理圖片,請稍候 5 秒...")
time.sleep(5)
print("👉 步驟 2/2:正在下達正式發布指令...")
publish_url = f"{BASE_URL}/{IG_USER_ID}/media_publish"
publish_payload = {
"creation_id": creation_id,
"access_token": FB_ACCESS_TOKEN
}
# 向 Meta 發出正式上架請求
publish_response = requests.post(publish_url, data=publish_payload)
publish_data = publish_response.json()
# 檢查第二步有沒有成功
if publish_response.status_code == 200 and "id" in publish_data:
print("--------------------------------------------------")
print(f"🎉【恭喜你!發布成功!】你的貼文已經順利出現在 Instagram 上了!")
print(f"🔗 貼文官方流水號 ID: {publish_data['id']}\n")
else:
print(f"❌【步驟 2 失敗】正式發布時被 Meta 攔截。錯誤原因: {publish_data}")
except Exception as e:
print(f"💥【系統異常】你的網路連線或環境可能有問題。錯誤訊息: {str(e)}")
if __name__ == "__main__":
# =====================================================================
# 填寫你想測試發布的內容 (注意:圖片網址必須是公開網路上可以直接看得到的網址)
# =====================================================================
TEST_IMAGE_URL = "https://images.unsplash.com/photo-1579202673506-ca3ce28943ef"
TEST_POST_TEXT = "這是我人生第一則用 AI Agent 和自動化腳本發布的 IG 貼文!太神奇了!✨ #自動化 #AI小編"
# 執行發文功能
publish_instagram_post(TEST_IMAGE_URL, TEST_POST_TEXT)
步驟 3:點擊執行!
- 打開你的終端機(Windows 叫命令提示字元
cmd,Mac 叫Terminal)。 - 輸入安裝指令,確保電腦看得懂這段程式(只需輸入一次):Bash
pip install requests python-dotenv - 用終端機進入你存放檔案的資料夾,輸入執行指令:Bash
python ig_auto_post.py - 看到畫面上顯示
🎉【恭喜你!發布成功!】,打開你的手機 IG,就會看到熱騰騰的新貼文出現在牆上囉!
只要跟著這三章走,恭喜你已經完成了小編自動化的第一步!
發佈留言