是一个有效的c#get请求
public HttpResponseMessage ExecuteEndPoint(string endpoint,string accessTocken) {
HttpResponseMessage responseMessage = new HttpResponseMessage();
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessTocken);
responseMessage = client.GetAsync(endpoint).Result;
}
return responseMessage;
}
我想在php中使用curl做同样的请求,下面是我试过的
$request_headers=array();
$request_headers[]='Bearer: '.$access_token;
//$request_headers[]='Content-Length:150';
$handle1=curl_init();
$api_url='here my api get url';
curl_setopt_array(
$handle1,
array(
CURLOPT_URL=>$api_url,
CURLOPT_POST=>false,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_HTTPHEADER=>$request_headers,
CURLOPT_SSL_VERIFYPEER=>false,
CURLOPT_HEADER=>true,
CURLOPT_TIMEOUT=>-1
)
);
$data=curl_exec($handle1);
echo serialize($data);
看起来api没有收到access_token。 任何帮助表示赞赏。 感谢
答案 0 :(得分:2)
您还需要指定“授权”......
dbname
答案 1 :(得分:1)
$ request_headers [] ='Bearer:'。 $ access_token ;,似乎是一个错字->
$ request_headers [] ='授权:承载'。 $ access_token; ->正确