api - 未定义索引 : media Twitter API

标签 api laravel twitter media entities

我对我的应用感到困惑,在显示来自 Twitter API 的 image_url 数据时遇到问题。

Controller

$events = Event::findOrFail($id);
$query = $events->hashtag;

// Application Programming Interface
$stack = HandlerStack::create();

$middleware = new Oauth1([
  'consumer_key'    => 'CONSUMER_KEY',
  'consumer_secret' => 'CONSUMER_SECRET',
  'token'           => 'TOKEN',
  'token_secret'    => 'TOKEN_SECRET'
]);

$stack->push($middleware);

$client = new Client([
    'base_uri' => 'https://api.twitter.com/1.1/',
    'handler' => $stack,
    'auth' => 'oauth'
]);

$res = $client->get('https://api.twitter.com/1.1/search/tweets.json?q=%23', [
  'query' => ['q' => $query]
]);
$array = json_decode($res->getBody()->getContents(), true);
$tes = (count($array['statuses']));

    if($request->user()->cannot('show', $events)){
        abort(405);
    }else{
  return view('dashboard.events.show', compact('events'), [
    'events' => $events
    ])->with([
      'array'=> $array,
      'tes' => $tes
    ]);
}

查看

    @for ($i = 0; $i < $tes; $i++)
<div class="col-md-4">
  <img src="{{$array['statuses'][$i]['entities']['media'][0]['media_url']}}" alt="" class="img-responsive"/>
</div>
@endfor

结果

Error Messages:
Undefined index: media

在 Twitter API v1.1 中,当人们不发布图片时,媒体实体就会消失,因此当我尝试使用循环概念获取 json 数据且 media_url 对象未定义时,结果是错误消息。 抱歉我的英语太差了,我还是 php 和 api 方面的新手。

最佳答案

你的代码很好,你说有时没有 ['media'] 属性,所以你想使用这样的东西:

@for ($i = 0; $i < $tes; $i++)
    @if(isset($array['statuses'][$i]['entities']['media']))
        <div class="col-md-4">
        <img src="{{$array['statuses'][$i]['entities']['media'][0]['media_url']}}" alt="" class="img-responsive"/>
        </div>
    @endif
@endfor

因此,当 $array 中有图片时,您的 View 将生成 HTML 来显示它。如果没有,它将被跳过。

关于api - 未定义索引 : media Twitter API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36034802/

相关文章:

events - Laravel 监听器监听多个事件

php - 在laravel中添加两个where条件

php - 在 Lumen 中找不到类 'Validator'

twitter - 获取视频推文的视频观看次数

r - R 中 twitteR 的 SSL 证书失败

java - Twitter4j 与 Twitter hbc

javascript - Soundcloud API 流式传输不同的歌曲

c++ - 如何获取 ShellExecute 调用的 exe 的返回值

api - 获得 public_content 的 Instagram 许可

java - Twitter4j 获取好友时间轴