【问题标题】:How can we merge result of two instagram API我们如何合并两个 instagram API 的结果
【发布时间】:2015-08-15 18:36:14
【问题描述】:

我需要根据用户名和标签在网页上显示 Instagram 图片

在环顾四周并搜索了这样的 api 之后,我找不到可以让我关注的 api

  1. 根据用户帐户显示图像 +
  2. 根据标签(单个或多个)显示图像

我可以使用两个单独的 API 调用分别显示两个结果,但我不确定如何合并两个结果并根据最新图像将它们显示为一个。

基于 Angular 和 instgram API 的示例 http://codepen.io/anon/pen/qdrBMQ?editors=001

我还查看了instafeedjs 它允许根据用户帐户显示图像并根据标签过滤相同的结果 示例:http://codepen.io/anon/pen/NqpWER?editors=001

我可以显示来自用户帐户 + 任何标签的图像的任何此类示例。

【问题讨论】:

  • '将它们显示为一个':就像将它们合并到一个数组中并使用 ng-repeat 显示?如果您需要等到两个 api 调用都完成,您可以使用 $q.all:docs.angularjs.org/api/ng/service/$q(页面结束)
  • 谢谢你,我会努力的,因为我不是脚本专家,让我试试看我能走多远。

标签: javascript angularjs html instagram instafeedjs


【解决方案1】:

合并应该不会太难:

var byUserUrl = 'https://api.instagram.com/v1/users/828057799/media/recent/?client_id=5e7cb176cc4340c09124d9f50733f34f&callback=JSON_CALLBACK';

//Search by tag
var byTagUrl ='https://api.instagram.com/v1/tags/flight/media/recent/?client_id=5e7cb176cc4340c09124d9f50733f34f&callback=JSON_CALLBACK';

app.controller("InstagramCtrl", function InstagramCtrl($scope, $http) {
  $scope.photos = [];
  $http.jsonp(byUserUrl).success(function(data) {
    $scope.photos = $scope.photos.concat(data.data);
  });
  $http.jsonp(byTagUrl).success(function(data) {
    $scope.photos = $scope.photos.concat(data.data);
  });
});

http://codepen.io/anon/pen/Qbpwmm

【讨论】:

  • 谢谢你,这是我想要的。只是想知道它是如何对图像进行排序的,是最新的还是?。我还给它添加了第二个标签..
  • 在您的 html 中:li(ng-repeat='photo in photos | orderBy: created_time')
  • 谢谢,我们可以像ASC或DESC一样下订单
  • 我认为默认是升序。如果要降序,请使用li(ng-repeat='photo in photos | orderBy: "-created_time"')
猜你喜欢
  • 2021-07-26
  • 1970-01-01
  • 1970-01-01
  • 2010-11-23
  • 2021-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-19
相关资源
最近更新 更多