在操场上,我得到https://api.vimeo.com/me/videos
的100个结果。在我的应用中,运行相同的GET
请求,结果为空。
我正在使用标题中的Authorization: Bearer <PRIVATE ACCESS TOKEN>
进行认证。
public static function headers($post = false)
{
$headers = array
(
'Authorization: Bearer '.self::myToken(),
'Accept: application/json',
'Cache-Control: no-cache',
);
if($post) $headers[] = 'Content-Type: application/json';
return $headers;
}
public static function get($url = '')
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_HTTPHEADER, self::headers());
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_MAXREDIRS, 10);
curl_setopt($curl, CURLOPT_ENCODING, "");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");
$result = curl_exec($curl);
$curl_info = curl_getinfo($curl);
$error = curl_errno($curl);
curl_close($curl);
return $error
? array('status'=>'error','message'=>$error)
: array('status'=>'success','result'=>json_decode($result,true));
}
print_r(self::get('https://api.vimeo.com/me/videos'));
如果我不包括auth令牌,则会得到一个结果,提示有关没有凭据的错误。但是当包含auth令牌时,我得到一个空响应。
同样,在API Playground中,我得到了100个视频。我在这里想念什么? (身份验证令牌正确。)
我所有的视频都是私有的,我正在使用的访问令牌(我为应用生成的唯一令牌)具有包括私有在内的全部权限。
答案 0 :(得分:0)
问:您确定您的myToken
函数在返回令牌之前未对其进行解密吗?如果是的话,您是否首先存储了加密的令牌?
A:不,我没有。不,我不是。
对于后代,只要您正确传递令牌,以上就是一个有效的API请求的示例。