我是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);发布于 2015-06-15 23:53:06
您错过了订阅过程中的一个重要步骤(It's in the doc):
当您使用上面的信息发布以创建新订阅时,我们会同时向您的回调URL...为了验证订阅,您的服务器必须仅使用hub.challenge参数响应GET请求:
换句话说,当您创建订阅时,它们会向您的回调URI发送一个带有一些参数的GET请求,而您必须返回hub.challenge参数(在PHP中为hub_challenge,因为使用PHP时,带有.的参数将转换为_)。
因此,在回调URI中,您必须测试请求方法。如果是GET,请执行以下操作:
exit($_GET['hub_challenge']);如果是POST,则是订阅更新,因此必须对原始正文进行json解码以获得数据,如文档‘:)中所述。
发布于 2015-06-17 16:22:50
嗨,托马斯,我收到一个错误,不知道为什么它不能工作...
无效字符串(92) "{"meta":{"error_type":"APISubscriptionError",“
”: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;
}https://stackoverflow.com/questions/30842925
复制相似问题