希望你能幫忙。我正在嘗試實現 Instagram 的基本顯示 API,但不幸的是,我在生成長期訪問令牌或使用 PHP/cURL 刷新現有長期令牌時遇到了問題??磥砦也⒉皇俏ㄒ灰粋€遇到此問題或類似問題的人。我遵循 Facebook 的入門指南(位于此處)并能夠生成一個短期訪問令牌,但這就是我對 PHP 的了解。奇怪的是,如果我直接通過 HTTP 調用任何端點(例如在瀏覽器中),則該調用可以完美地工作,并且我可以從短訪問令牌中獲取長期訪問令牌,或者可以刷新現有的長期訪問令牌。但它只能在瀏覽器中或在終端中使用 cURL 才能工作。似乎 graph.instagram.com 要么阻止了我的網絡服務器 IP,要么不喜歡眾多可能的 cURL 選項之一。我嘗試了很多不同的組合,但沒有成功。我什至嘗試從不同的網絡服務器(不同的主機、不同的位置和IP,因此IP被阻止似乎不是這種情況)運行PHP腳本,但仍然沒有運氣。我從 graph.instagram.com 收到的錯誤消息是:IGApiException: Invalid OAuth 2.0 Access Token (error code 190)我在這上面花費的時間比可行的要多,而且我已經厭倦了。必須有一個簡單的解釋來解釋為什么一種方法有效而另一種方法無效。讓我瘋狂。我缺少什么?請幫忙...重申一下,調用以下 URL(使用適當的短期/長期訪問令牌)在瀏覽器/終端中可以正常工作,但在 PHP cURL 中則不行。為什么?我該如何解決這個問題?生成長期訪問令牌:https://graph.instagram.com/access_token?grant_type=ig_exchange_token&client_secret={app-secret}&access_token={short-lived-access-token}清爽:https://graph.instagram.com/refresh_access_token?grant_type=ig_refresh_token&access_token={long-lived token}注意:據我所知,我已經正確設置了應用程序等。我假設如果我不這樣做,我將無法首先生成訪問代碼,也無法生成短期訪問令牌,更不用說刷新現有的長期訪問令牌了。咆哮:我討厭 Facebook。說真的,沒有什么比它更值得嘆息的直接和復雜的了
1 回答

隔江千里
TA貢獻1906條經驗 獲得超10個贊
哇,在這個問題上花了幾天時間,終于發布了這個問題,又只花了40分鐘,我終于找到了解決方案。
對于遇到類似問題的任何人,就我而言,問題是http_build_query
(我用來設置 cURL GET 參數)以及兩個 Web 服務器都設置了以下 php.ini 設置:arg_separator.output = "&"
其中默認設置通常是:arg_separator.output = "&"
要解決此問題,請更改 http_build_query 以使用&
而不是像&
這樣:http_build_query($yourParams, null, '&');
或者簡單地將更改后的 php.ini 設置恢復為原始設置(風險由您自行承擔)
- 1 回答
- 0 關注
- 179 瀏覽
添加回答
舉報
0/150
提交
取消