首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过`mgp25/Instagram-API`项目访问用户的卷轴媒体源重点故事(获取所有用户的故事)

通过`mgp25/Instagram-API`项目访问用户的卷轴媒体源重点故事(获取所有用户的故事)
EN

Stack Overflow用户
提问于 2018-12-17 06:56:26
回答 1查看 2.2K关注 0票数 0

我使用的是mgp25/Instagram-API发布的^5.0稳定版本。

我需要得到用户故事的所有媒体。

我有这样的代码:

代码语言:javascript
复制
$user = 'instagram';
$userId = $ig->people->getUserIdForName($user);
$feedId = $ig->highlight->getUserFeed($userId)->getTray()[0]->getId();
var_dump( $ig->story->getReelsMediaFeed($feedId)->getReels() );

结果(数据在_objectData私有方法中):

代码语言:javascript
复制
object(InstagramAPI\Response\Model\UnpredictableKeys\ReelUnpredictableContainer)#1453 (4) {
  ["_type":protected]=>
  string(33) "\InstagramAPI\Response\Model\Reel"
  ["_cache":protected]=>
  NULL
  ["_compiledPropertyMapLink":"LazyJsonMapper\LazyJsonMapper":private]=>
  &array(0) {
  }
  ["_objectData":"LazyJsonMapper\LazyJsonMapper":private]=>
  array(1) {
    ["highlight:17907400474216512"]=>
    array(13) {
      ["id"]=>
      string(27) "highlight:17907400474216512"
      ["latest_reel_media"]=>
      int(1520611200)
      ["seen"]=>
      NULL
:
:

我尝试了下面的代码:

代码语言:javascript
复制
var_dump( $ig->story->getReelsMediaFeed($feedId)->getReels()[$feedId] );

我得到了这个错误:

代码语言:javascript
复制
Fatal error: Uncaught Error: Cannot use object of type InstagramAPI\Response\Model\UnpredictableKeys\ReelUnpredictableContainer as array in...

我还尝试了下面的代码:

代码语言:javascript
复制
var_dump( $ig->highlight->getUserFeed($userId)->getTray()[0]->getItems() );

但是返回NULL

我可以使用jsonSerialize()或相同的方法:

代码语言:javascript
复制
var_dump( $ig->story->getReelsMediaFeed($feedId)->getReels()->jsonSerialize()->$feedId );

但我不喜欢它,这是一种有趣的方式,它会随着结构的类和形式的消失而消失。

您的标准解决方案是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-17 07:14:03

从源代码来看,您希望使用InstagramAPI\Response\Model\UnpredictableKeys\ReelUnpredictableContainergetData()方法

代码语言:javascript
复制
$reels = $ig->story->getReelsMediaFeed($feedId)->getReels()->getData();

getData()方法(来自CoreUnpredictableContainer)将数据转换为$_type属性的实例。

$reels现在是InstagramAPI\Response\Model\Reel的一个实例。不清楚您想要从中获得什么数据,但是API在类本身中定义得很好,例如

代码语言:javascript
复制
$items = $reels->getItems();
$location = $reels->getLocation();
// etc
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53807193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档