使用 Oauth2 在 Instagram 上发布图片 - PHP
Posted
技术标签:
【中文标题】使用 Oauth2 在 Instagram 上发布图片 - PHP【英文标题】:Post an image on instagram using Oauth2 - PHP 【发布时间】:2017-03-23 07:16:52 【问题描述】:我只想使用 Oauth2 和 php 在 Instagram 上发布 一张图片,非常类似于 Facebook 的墙贴和 Twitter 的推文,例如:
用户点击我网站上的在 Instagram 上分享按钮,他们重定向到 Instagram 应用批准页面,他们批准并在他们的帐户上发布图像。
我几乎在整个互联网上搜索了这个要求。但我没有得到准确的代码来实现这一点。
我已经检查了这些:
https://github.com/mgp25/Instagram-API
https://github.com/cosenary/Instagram-PHP-API
有人说不可能,Instagram 不允许。
所以我想要的只是一个明确的答案,是否可能?如果是那怎么办?
谢谢
【问题讨论】:
【参考方案1】:明确答案
这是不可能的,也不是官方的。所有非官方的 API / 包 / 库......你可能发现的任何东西都只是 Instagram 应用程序产生的流量的逆向工程的初步尝试。
所以他们可能会工作一段时间,但 Instagram 会阻止他们。
考虑一下。如果有某种官方方式可以将内容上传到 instagram,那么将会有很多替代应用程序和垃圾邮件发送者使用它。
如果你不相信我,check the official API documentation。没有提到图片的上传。
【讨论】:
Napolux 谢谢。我也是这么想的。 Napolux,我想等着听听其他人是否有其他观点。如果我在接下来的几天内没有得到任何其他答案,那么我一定会接受你的答案。【参考方案2】:Post istagram image with caption using facebook api(business account - without login)
ref - https://github.com/facebookarchive/php-graph-sdk
<?php
define('FACEBOOK_SDK_V4_SRC_DIR', __DIR__.'/src/Facebook/');
require_once(__DIR__.'/src/Facebook/autoload.php');
$instaData = [
'image_url' => 'image_url',
'caption' => htmlspecialchars('your message')
];
$pageAccessToken ='your access token';
$fb = new Facebook\Facebook([
'app_id' => 'fb_app_id',
'app_secret' => 'app secrect',
'default_graph_version' => 'v12.0',
]);
try
$response = $fb->post('INSTA_PAGE_ID/media/?', $instaData, $pageAccessToken);
catch(Facebook\Exceptions\FacebookResponseException $e)
echo 'Graph returned an error: '.$e->getMessage();
exit;
catch(Facebook\Exceptions\FacebookSDKException $e)
echo 'Facebook SDK returned an error: '.$e->getMessage();
exit;
$graphNode = $response->getGraphNode();
$creation_id = json_decode($graphNode);
$publish_image = [
'creation_id' => intval($creation_id->id)
];
try
$response1 = $fb->post('INSTA_PAGE_ID/media_publish/?', $publish_image, $pageAccessToken);
catch(Facebook\Exceptions\FacebookResponseException $e)
echo 'Graph returned an error: '.$e->getMessage();
exit;
catch(Facebook\Exceptions\FacebookSDKException $e)
echo 'Facebook SDK returned an error: '.$e->getMessage();
exit;
echo "<pre>"; print_r($response1); echo "</pre>";
?>
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。以上是关于使用 Oauth2 在 Instagram 上发布图片 - PHP的主要内容,如果未能解决你的问题,请参考以下文章
Instagram API:范围是不是适用于 OAuth2 隐式身份验证流程?
.NET 中的 OAuth 2.0 与 Instagram API