php - Instagram API订阅,如何获取帖子?

标签 php api post instagram

我正在努力了解如何获取查找特定标签的 Instagram 订阅的结果。最终,我想做的是,当图像发布时带有我正在寻找的标签时,将链接添加到照片以及数据库的用户名中。

我能够毫无问题地创建我的订阅,但现在我不确定如何从订阅中获取 POST 信息。

使用两个文件...subscribe.php 和 callback.php

subscribe.php

<?php

//ALL YOUR IMPORTANT API INFO
$client_id = 'XXX';
$client_secret = 'XXX';
$object = 'tag';
$object_id = 'taglookingfor';
$aspect = 'media';
$verify_token='';
$callback_url = '(full URL here)/callback.php';


//SETTING UP THE CURL SETTINGS...
$attachment =  array(
'client_id' => $client_id,
'client_secret' => $client_secret,
'object' => $object,
'object_id' => $object_id,
'aspect' => $aspect,
'verify_token' => $verify_token,
'callback_url'=>$callback_url
);

//URL TO THE INSTAGRAM API FUNCTION
$url = "https://api.instagram.com/v1/subscriptions/";

$ch = curl_init();

//EXECUTE THE CURL...
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  //to suppress the curl output 
$result = curl_exec($ch);
curl_close ($ch);

//PRINT THE RESULTS OF THE SUBSCRIPTION, IF ALL GOES WELL YOU'LL SEE A 200
print_r($result);


?>

回调.php

 <?php

if (isset ($_GET['hub_challenge'])){
    echo $_GET['hub_challenge'];
}

//This is an update
else {

    $myString = file_get_contents('php://input');
    $answer = json_decode($myString);
    echo $answer;
}

?>

在我的 callback.php 中,我试图回显 json_decode 的结果...但这也引出了一个问题,我将如何捕获该回显?抱歉,这可能真的很愚蠢,但我如何捕捉 callback.php 脚本被带有我正在寻找的特定标签的新图像触发的时刻。正如我提到的,我希望做的是获取 $answer 中的信息并将一些信息插入数据库。

我是新手,所以非常感谢任何帮助。 一百万!

最佳答案

我感受到了你的痛苦。他们的 API 不是最容易使用的,他们的文档也有很多不足之处。也就是说,这就是发生的事情:

  1. 您向订阅 API 端点发送请求
  2. Instagram 向您的 callback.php 文件发送响应
  3. 响应包含一个 hub_challenge 参数,您需要回显该参数以确认您的订阅
  4. 如果成功,您将在您的 callback.php 中收到一 strip 有您新订阅的 subscriptionid 的帖子
  5. 每次您收到 callback.php 的帖子时,您都需要向 Instagram 发出请求,以获取与您的标签匹配的最新媒体。

关于php - Instagram API订阅,如何获取帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14469924/

相关文章:

api - Ember Auth 用户持久化

php - 获取 native react 不发送帖子

python - 使用 python 发布表单的问题

php - preg_replace 替换捕获组内的符号

jquery - 在 jquery 插件中使用相对 API Url 的最佳方法

python - 跳过循环中的错误-JSONDecodeError : Expecting value: line 1 column 1 (char 0)

python - 如何使用 multipart/form POST 上传文件,只有需要上传的文件的 URL( block )

javascript - 添加新的动态引导卡不起作用

php - 避免用户去../../

php - 使用一个表更新另一个 SQL