Instagram订阅标签在实时照片更新的步骤
instagram subscription tag steps on Real-time Photo Updates
我是Instagram的新手,基于实时照片更新。不明白这个过程,谁能启发我如何在php中创建回调URL?从注册客户端的重定向 uri 需要链接到此回调 URL?下面的代码是我为回调 URL 所做的
$checkin_url = "https://api.instagram.com/v1/subscriptions/";
//$instagram[] for client_id, client_secret, redirect_uri
$parameters = array(
'client_id' => $instagram['client_id'],
'client_secret' => $instagram['client_secret'],
'object' => 'tag',
'aspect' => 'media',
'object_id' => 'nofilter',
'callback_url' => $instagram['redirect_uri']
);
$curl = curl_init($checkin_url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
print($response);
您错过了订阅过程中的重要步骤(在文档中):
当您使用上述信息发布以创建新订阅时,我们会同时向您的回调 URL 提交 GET 请求 [...]为了验证订阅,您的服务器必须仅使用 hub.challenge 参数响应 GET 请求:
换句话说,当你创建订阅时,他们会向你发送一个带有一些参数的 GET 请求,你必须返回hub.challenge
参数(在 PHP 中hub_challenge
,因为使用 PHP 时,带有.
的参数被转换为 _
)。
因此,在回调 URI 中,必须测试请求方法。如果是GET
,请执行以下操作:
exit($_GET['hub_challenge']);
如果是POST
,则它是订阅更新,因此您必须对原始正文进行 JSON 解码以获取数据,如文档:)中所述
嗨托马斯,
我遇到了一个错误,不知道为什么它不起作用......
字符串(92) "{"meta":{"error_type":"APISubscriptionError","code":400,"error_message":"无效 响应"}}"
从订阅:
$callback_url = "http://myhost.com/auth/instagram/callback";
$params = array(
'client_id' => $ig_client_id,
'client_secret' => $ig_client_secret,
'aspect' => "media",
'object' => "tag",
'object_id' => "greentea",
'callback_url' => $callback_url
);
$defaults = array(
CURLOPT_URL => 'https://api.instagram.com/v1/subscriptions/',
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $params,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array('Accept: application/json')
);
$ch = curl_init();
curl_setopt_array($ch, $defaults);
$jsonData = curl_exec($ch);
curl_close($ch);
var_dump($jsonData);
从回调:
if (isset ($_GET['hub_challenge'])){
exit($_GET['hub_challenge']);
}
else {
$rawdata = file_get_contents('php://input');
$decode_data = json_decode($rawdata);
echo $decode_data;
}
相关文章:
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- 漂亮照片图片库中的Facebook赞按钮
- 图片照片库
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何通过数组更新角度子范围
- Ajax聊天消息重复而不仅仅是更新
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- $rootScope未使用forEach进行更新
- d3基于用户选择动态更新节点
- 有条件更新d3.js力图中节点的最佳方法
- Angular:更新一次性绑定的数据
- Javascript更新孙窗口中的表单元素
- 使用AngularJS中的筛选器更新给定的表
- 从选项页面更新chrome扩展清单权限
- 如何更新我收藏的照片对象数组上的标志
- 有没有一种方法可以让用户在不使用我编写的应用程序的情况下访问公开的facebook信息,比如照片,状态更新
- 删除照片时,Ng-src会更新,但src不会
- Instagram订阅标签在实时照片更新的步骤