Vine API请求返回500内部服务器错误

时间:2015-08-14 16:56:04

标签: php api curl twitter vine

我试图通过为它们创建的oEmbed API端点来提取Vine的JSON数据。该请求在浏览器和我的本地Vagrant机器上运行正常,但是只要我在服务器上运行它就会引发500内部服务器错误。就好像我的Rackspace服务器被阻止向他们的API发出请求,但这是我第一次尝试向Vine发出请求。

$url = 'https://vine.co/oembed.json?url=http://vine.co/v/egXzgWMjrTj';
$res = file_get_contents($url);
$json = json_decode($res);

我已经尝试过使用cURL请求并将带有标头的stream_create_context()传入file_get_contents()调用。

我的示例cURL请求也返回HTML格式化500内部服务器错误

$url = 'https://vine.co/oembed.json?url=http://vine.co/v/egXzgWMjrTj';
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);

我的最终目标是获取视频的缩略图,我正在向Vimeo和Instagram执行类似的请求,而不会出现内部服务器错误。

1 个答案:

答案 0 :(得分:0)

这是有效的,经过测试。

$res = file_get_contents('https://vine.co/oembed.json?url=http://vine.co/v/egXzgWMjrTj');
$json = json_decode($res,true);
echo $json['thumbnail_url'];

json_decode的第二个参数为true,返回一个数组而不是一个对象。