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

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