未定义索引:媒体 Twitter API
Undefined index: media Twitter API
我对我的应用感到困惑,我无法显示来自 Twitter image_url 的数据 API。
控制器
$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
]);
}
VIEW
@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 媒体实体在人们没有 post 图片时消失,所以当我尝试使用循环概念和 media_url 获取 json 数据时对象未定义,结果是错误消息。
抱歉我的英语太差了,我在 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
中有图片时,您的视图将生成 HTML 来显示它。如果您没有,它将被跳过。
我对我的应用感到困惑,我无法显示来自 Twitter image_url 的数据 API。
控制器
$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
]);
}
VIEW
@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 媒体实体在人们没有 post 图片时消失,所以当我尝试使用循环概念和 media_url 获取 json 数据时对象未定义,结果是错误消息。 抱歉我的英语太差了,我在 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
中有图片时,您的视图将生成 HTML 来显示它。如果您没有,它将被跳过。