如何使用Instagram实时订阅地理?

时间:2015-08-06 10:58:18

标签: php geolocation real-time instagram-api

我已成功在Instagram中为我的位置创建了地理位置的实时订阅:

lat 1.436629

长38.438239

半径:1000

订阅电话给出了这个地理位置ID:12932150

在此之后,我通过用自定义名称标记我当前的位置在Instagram上发布了一张图片。然后我注意到Instagram没有ping我的回叫网址。如果Instagram确实ping了回拨网址,则会从ping中获取地理ID,并用于调用地理位置上的媒体/最近端点。

我是手动完成的。对“https://api.instagram.com/v1/geographies/12932150/media/recent?client_id=XXXXX”的调用会返回空结果: { “分页”:{}, “元”:{ “代码”:200}, “数据”:[]} 这意味着该帖子未在该中心1000米范围内注册地理位置。

但是,调用媒体/搜索端点:“https://api.instagram.com/v1/media/search?lat=1.436629&lng=38.438239&client_id=XXXX&count=200&distance=1000”在我的帖子顶部显示了69条结果。

我的实时订阅代码有什么问题吗? 或者我错过了一些重要的事情。请帮忙。

这是订阅的代码:

<?php
$client_id = 'XXXX';
$client_secret = 'XXXX';
$redirect_uri = 'http://XXXX/igcallback.php';
$apiData = array(
    'client_id' => $client_id,
    'client_secret' => $client_secret,        
    'aspect' => "media",
    'object' => "geography",
    'lat' => "1.436629",
    'lng' => "38.438239",
    'radius' => '1000',
    'callback_url' => $redirect_uri
);

$apiHost = 'https://api.instagram.com/v1/subscriptions/';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiHost);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($apiData));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$jsonData = curl_exec($ch);
curl_close($ch);
var_dump($jsonData);

0 个答案:

没有答案