Php 如何将卷曲转换为Guzzle GET
首先:堆栈溢出中的第一个问题,非常荣幸!:D 如何将下面的卷曲转化为口吻Php 如何将卷曲转换为Guzzle GET,php,laravel,curl,guzzle,Php,Laravel,Curl,Guzzle,首先:堆栈溢出中的第一个问题,非常荣幸!:D 如何将下面的卷曲转化为口吻 curl -u USER_KEY:USER_SECRET https://api.apiexample.com/example/oauth/oauth?grant_type=client_credentials 我尝试了以下操作,但始终得到403-禁止的错误: $res = $client->request('GET', 'https://api.apiexample.com/example/oauth/o
curl -u USER_KEY:USER_SECRET https://api.apiexample.com/example/oauth/oauth?grant_type=client_credentials
我尝试了以下操作,但始终得到403-禁止的错误:
$res = $client->request('GET', 'https://api.apiexample.com/example/oauth/oauth',[
'auth' => ['USER_KEY', 'USER_SECRET'],
'header' => [
'Content-Type' => 'application/x-www-form-urlencoded'
],
'form_params' => [
'grant_type' => 'client_credentials'
]
]);
我的代码可能有什么问题
编辑:忘记一件事:此请求返回一个持续30分钟的令牌。只有当令牌即将过期时才运行此函数有什么提示吗?我建议您将常量值放入
客户端
对象声明中,并将请求
包装在try catch
块中,以重新格式化您的请求。try-catch
块提供了额外的好处,它将帮助您调试响应。您可以随意更改catch语句
$client = new Client([
'base_uri' => 'https://api.apiexample.com/example/',
'auth' => [
'USER_KEY',
'USER_SECRET'
]
]);
try {
$response = $client->request( 'GET', 'oauth/oauth', [
'headers' => [
'Content-Type' => 'application/x-www-form-urlencoded',
],
'form_params' => [
'grant_type' => 'client_credentials'
]
]);
} catch (Exception $e) {
error_log($e->getCode());
error_log($e->getMessage());
error_log(print_r($e->getTrace(), true));
}
如果您正在传递表单参数,则不需要标题内容类型application/x-www-form-urlencoded,它是由表单参数设置的,还请告知您的身份验证是基本的还是管理的。auth是基本的,因此实际上它根本不需要头,至少在我正在使用的API上,它设法为我提供了一个令牌,在其他请求中用作承载。谢谢你的提示!哇哈哈,谢谢你的回答!我要重新格式化成这样!