Instagram最新帖子API突然停止工作

时间:2018-04-08 08:46:07

标签: json api ssl curl instagram

我的Instagram Feed工作正常,但已停止工作。我正在努力寻找解决方案。首先我假设问题与SSL有关,我甚至为我的网站获得了SSL证书。但似乎没有用。任何帮助或建议表示赞赏。输出显示在Instagram上发布的最新图像,现在没有显示任何内容。1

  <div class="col-xs-12 col-sm-6 col-md-5 no-padding">
<div class="insta_img">
  <?php
                $instagram_id = get_field('instagram_id', 'option') ? get_field('instagram_id', 'option') : '';
                $access_token = get_field('instagram_access_token', 'option') ? get_field('instagram_access_token', 'option') : '';
                $url = "https://www.instagram.com/{$instagram_id}/?__a=1";
                curl_close($ch);  
                $ch = curl_init($url);
                curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                $json = curl_exec($ch);
                curl_close($ch);

                $data = json_decode($json);
                $data = $data->user->media->nodes;

                $text = $data[0]->caption;

                $created_time = $data[0]->date ;

                $images = $data[0]->thumbnail_src;
                /

            ?>
  <img src="<?php echo $images; ?>"  alt="instagram"/>
  <div class="insta_content"><?php echo $text; ?>
    <dt><?php echo date('d/m/Y', $created_time); ?></dt>
  </div>
</div>

3 个答案:

答案 0 :(得分:0)

Instagram于2018年4月6日禁用了以下功能(例如,已弃用关注API):

关注者列表 - 阅读关注者列表和后续用户

关系 - 代表用户关注和取消关注帐户

评论公共内容 - 在公共媒体上代表用户发布和删除评论

喜欢 - 代表用户喜欢和不喜欢媒体

订阅 - 在发布媒体时接收通知

用户信息 - 搜索和查看用户的公共内容 通过主题标签和位置返回有关公共内容的一些信息 搜索 - 姓名,生物,评论,评论者,追随者计数,以下计数, 发布计数和个人资料图片

答案 1 :(得分:0)

访问令牌工作正常。但该帖子在网站上不可见。我使用的代码如下:

$access_token = get_field('instagram_access_token', 'option') ? get_field('instagram_access_token', 'option') : '';
               $url = "https://api.instagram.com/v1/users/self/?access_token={$access_token}";

                $ch = curl_init($url);
                curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                $json = curl_exec($ch);                   
                curl_close($ch);

                $data = json_decode($json);
                $data = $data->user->media->nodes;


                $text = $data[0]->caption;

                $created_time = $data[0]->date ;

                $images = $data[0]->thumbnail_src;

答案 2 :(得分:0)

您没有正确解析响应。例如,在该响应中没有user->media->nodes。您需要检查从端点获得的响应,然后正确解析它以获取图像:

$access_token = get_field('instagram_access_token', 'option') ? get_field('instagram_access_token', 'option') : '';
$url = "https://api.instagram.com/v1/users/self/media/recent?access_token={$access_token}";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$json = curl_exec($ch);                   
curl_close($ch);

$data = json_decode($json);
$data = $data->data;

$text = $data[0]->caption->text;

$created_time = $data[0]->created_time;

$images = $data[0]->images->standard_resolution->url;