緣起:
今天開始研究 Instagram 的 API,Instagram 現在是 Facebook 旗下的產品,我想說,既然我都會弄 Facebook 的 API 了,而且 Facebook API 的那些 APP 也有 instagram 的權限能設定
那 Instagram 的 API 也差不多就那樣吧,我只要在 Facebook Developer 弄個 APP,然後給 APP 需要的權限,在 Graph API 按下 Generate Access Token 後,它就會跳出一個要我 instagram 授權的畫面 (我的 instagram 是用 fb 註冊的),完成後就會產生一個權杖,我就可以拿著那個權杖來對 Instagram 的 API 做存取,簡簡單單的完成任務
結果沒我想的那麼簡單,我發現對於 Instagram API endpoint 的存取,都會需要 user id 的欄位,那個 user id 要怎麼找,我在 google 上怎麼查都查不到,我也試了這邊提到的所有方法,全都失敗,走投無路之下,我就回去把官方的 Instagram API 文件從最基本的看起,最後發現,原來使用 Instagram 的 API 會需要
你的 Instagram 要建立創作者或商家帳號 -> 你要用你 Facebook 帳號創立一個粉絲專頁 -> 建立一個 Facebook API 的 APP,給它管理粉專的權限,並將它加到你創立的粉專 -> 在你的粉專加入你 Instagram 的創作者或商家帳號
沒錯,步驟很麻煩,我做到後來都忘了我是設定了哪些東西後才成功的,所以我在寫這個文章時,會順便把我印象中的動作都做一次,邊做邊紀錄。
Instagram 商家帳號:
登入你要拿來自動 po 文的 Instagram 帳號,到設定那邊,選擇 "切換為專頁帳號"
更正 : 要能用 API PO 文的話一定要使用 "商家" 帳號,不能選創作者 !!!!! 如果選錯的話,到時也能改就是了,只不過權杖到時還要重新產生。
粉絲專頁加入 Facebook API 的 APP:
這東西之前就有弄過了,只是我現在想重新整個弄一次,並且把這個新創的粉絲專頁跟 APP 用於 Instagram 上,也順便檢查一下,整個使用下來,會需要給那個 APP 什麼樣的權限。
再來是在 graph api 那邊設定 APP 的權限,在那個 "用戶或粉絲專頁" 的下拉選單中,選擇 "粉絲專頁" 後就會跳出授權許可的頁面
之後在 Facebook 的 設定 -> 帳號安全和登入 -> 企業整合工具,可以看到你加入的 APP
粉絲專頁連結 Instagram 帳號:
點進你 Facebook 粉絲專頁的設定那邊,有個 Instagram 的選項
再來就能透過我們這個 Facebook API 的 APP 來使用我們的 Instagram 帳號了
使用 Instagram API 取得 user id:
再來進入重點,Instagram API 的使用,這個是我參考的官方文件。它說的準備工作就我上面做的那堆事
在 Facebook developer 選擇你的 APP,並進入 graph api,你的 APP 記得要加入 instagram_basic 這個權限
再來產生一個用戶權杖,它會出現授權的畫面,授權步驟會多一個讓你選擇 Instagram 商業帳號,其它就照之前的設定
拿到權杖後,在 graph api 上對 /me/account 這個端點做 GET 查詢,沒錯的話應該會有這樣的回應,把粉絲專頁的 id 記下來 (紅線)
接著,在 POST Man上對以下這個端點做 GET 請求,直接在 graph api 上請求也行啦,只是那個欄位要填的就變成 {page-id}?fields=instagram_business_account,不用加 access_token
/v15.0/{page-id}?fields=instagram_business_account&access_token={access-token}
那個 page-id 就我們剛剛記錄的,access-token 就那個使用者權杖,成功的話就能得到跟這個粉絲專頁連結的 IG 商業帳號的 id。
沒有留言:
張貼留言