php - Instagram Graph Api 内容发布在 Graph API Explorer 上完美运行,但在浏览器和其他 HTTP 请求(包括 Curl)上出现故障
问题描述
https://graph.facebook.com/17841400008460056/media?image_url=https://www.example.com/images/bronz-fonz.jpg&caption=he&access_token={Myaccess Token}
(出于安全原因,将我的真实页面 ID 和图像 url 替换为通用的)当我使用 Graph API Explorer 调用上述 URL 时,它可以正常工作。
通过工作得好,我的意思是......
我能够获得一个容器 ID,我可以使用该容器 ID 将图像发布到我的 instagram 帐户。实际上,我已经成功地将带有标题的图片发布到了我的两个 Instagram 帐户,这些帐户连接到我的 Facebook 页面。
但是,当我尝试使用 curl 或 file_get_contents() 从 php 进行相同的 API 调用时,它会为我的一个 IG 帐户返回空的 JSON 数据,并同时返回另一个帐户的多个 ID。
当我尝试任何返回的多个 id 来发布我的图像时,它会返回一个错误的请求错误。以下是我的代码:
//Make An Image Post Request To Get IG Container IG //1)file_get_contents()option
`$instagram_publish_call=file_get_contents("https://graph.facebook.com/{$mypage_id}/media?image_url={$myimage_url}&caption={$mymessage}&access_token={$myaccess_token}");
instagram_url="https://graph.facebook.com/{$mypage_id}/media?image_url={$myimage_url}&caption={$mymessage}&access_token={$myaccess_token}";
//2)PHP curl option
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $instagram_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
$contents=curl_exec($ch);
curl_close($ch);
echo $contents;
起初,我认为这与我的脚本或我正在使用的 PHP 函数有关,所以我决定直接在我的浏览器上进行调用,只需复制和粘贴 url,包括我的长期访问令牌,令人惊讶的是它仍然返回与我的 php 代码中的结果相同。也就是说,其中一个帐户返回空 JSON,另一个帐户返回多个在浏览器上无用的 id。
这是来自不同IG帐户的错误结果...
来自我的一个 IG 账户的回复
{“数据”:[{“id”:“23445667778889990000”},{“id”:“233456788989999999”},{“id”:“22344566777788888”},{“id”:“123445667788899000”},{“id” :“1234456677889999”},{“id”:“123346889999000”},{“id”:“1234567789999000”},{“id”:“123456789900---”},{“id”:“12334567789090”},{ “id”:“122334456778899900”},{“id”:“45567889990000000”}],“分页”:{“光标”:{“之前”:“ADSGNFNFMGKGMKGKGKGKGKKG”,“之后”:“QWREFDGHHJUKUKLK;L;LLL;LLLL " } } }
(出于安全原因,我替换了实际 ID 和响应代码) 2)来自第二个帐户的响应...
{ “数据”: [
] }
我实际上从 Facebook Graph Explorer 得到的期望响应是..
{“身份证”:1784999847888888888}
请任何人都可以帮助我,因为这花了我很多时间。
解决方案
推荐阅读
- php - 为什么 Doctrine Query 会抛出“参数过多”QueryException
- asp.net - 使用 Aspose.Words 读取 asp.net 中的 RTF 文件内容
- html - 使用 Bootstrap 4 网格在 col-6 内创建两个 cols
- mongodb - 使用 robo mongo 按 id 更新多个文档
- bash - “jq:错误:无法使用字符串索引数组”使用 jq 从 ElasticSearch 结果中获取数据
- javascript - xhr xmlhttprequest 在浏览器中不起作用?
- r - 基于列值的字符串连接
- ios - 带有按钮特征的 UIAccessibilityElement 在配音后添加“一个”按钮
- maven - 何时在构建工具的 Sonarqube 插件上使用 sonar-scanner?
- swift - 检测 iMessage 扩展中的用户交互