【问题标题】:Ajax username and date Instagram APIAjax 用户名和日期 Instagram API
【发布时间】:2013-08-05 00:42:41
【问题描述】:

目前,我正在尝试使用 instagram 的 api 创建一个页面,显示带有特定标签的最近图片,以及发布它的用户和发布日期。我也在尝试拥有无限加载功能,当页面到达底部时,在更多 Instagram 帖子中加载 ajax。

这是直播网站的链接http://www.laithazzam.com/work/nukes/indexnew.php

点击红色yes会跳过视频,直接进入instagram feed。

我目前正在使用 Christian Metz 在此处找到的解决方案,https://gist.github.com/cosenary/2961185

我在发布日期、第一次初始加载以及 ajax 加载时也遇到了问题。在尝试实现 Christian 的 php/ajax 解决方案之前,我以前能够使用以下代码。

var date = new Date(parseInt(data.data[i].created_time) * 1000);
<p class='date'>"+(date.getMonth()+1)+"/"+date.getDate()+"/"+date.getFullYear()+"</p>

我想我不明白的是,ajax 加载功能实际上是如何运作的。我如何也通过ajax加载成功功能提取名称和日期?

$.ajax({
      type: 'GET',
      url: 'ajax.php',
      data: {
        tag: tag,
        max_id: maxid
      },
      dataType: 'json',
      cache: false,
      success: function(data) {
        // Output data
        $.each(data.images, function(i, src) {
        $("#instafeed").append('<img src="' + src + '">');
        });

        // Store new maxid
        $('#more').data('maxid', data.next_id);
      }
    });
  });

【问题讨论】:

    标签: ajax api date instagram


    【解决方案1】:

    success 处理函数的data 参数从 JSON ajax.php 返回的任何内容中填充,并且结构将相应匹配。看起来该对象的 images 属性只有图像的 URL 数组,没有其他数据。

    您需要update this section of the PHP script 来返回不仅仅是图像的 URL 数组,还需要包含从 Instagram API 检索到的其他数据。

    尝试将最后一部分更新为:

    echo json_encode(array(
        'next_id' => $media->pagination->next_max_id,
        'images'  => $media->data
    ));
    

    然后您将拥有对所有媒体数据的完全访问权限,而不仅仅是 URL。

    【讨论】:

    • 哦,对了,谢谢,这是有道理的。还是有点模糊,是什么让 jquery 输出那个信息数组,图像的 src? 部分,我不完全理解它与 instagram api 的关系,以及什么会只提取用户名?
    • $.each() 方法循环遍历包含图像源 URL 字符串的图像数组,并为每个图像调用函数。每次调用函数时,i 都会设置为数组中的位置,src 是设置为当前迭代值的变量。如果您更改服务器以返回完整的媒体对象,您需要在该块内执行类似 $.each(data.images, function(i, image) { ... }); 的操作,您可以执行 image.user.name 或任何 JSON 属性名称来获取您需要的数据。
    • 好的很酷,并且更改我的服务器以返回完整的媒体对象,那是使用您之前指出的更改,$media->data,还是涉及这些行? $images = 数组(); foreach ($media->data as $data) { $images[] = $data->images->standard_resolution->url; }
    • 您可以忽略填充 $images 的行,因为您使用的是该数据的超集
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-19
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    相关资源
    最近更新 更多