gpt4 book ai didi

具有基本身份验证和不记名 token 的 PHP Guzzle

转载 作者:可可西里 更新时间:2023-11-01 12:29:02 26 4
gpt4 key购买 nike

我正在尝试与 infojobs-api 建立联系,文档解释了如何以这种方式建立联系:

GET /api/1/application HTTP/1.1
Host: api.infojobs.net Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==,Bearer 07d18fac-77ea-461f-9bfe-a5e9d98deb3d

( https://developer.infojobs.net/documentation/user-oauth2/index.xhtml )

这是我的代码:

$basicauth = new Client(['base_uri' => 'https://api.infojobs.net']);

$credentials = base64_encode(CLIENT_ID .':' . CLIENT_SECRET ) ;

$newresponse = $basicauth->request(
'GET',
'api/1/curriculum',
['debug' => true],
['auth' =>
['Basic', $credentials] ,
['Bearer', $acceso->access_token]
]
)->getBody()->getContents();

d($newresponse);

API/Guzlle 返回这个错误:

Fatal error: Uncaught GuzzleHttp\Exception\ClientException: Client error: GET https://api.infojobs.net/api/1/curriculum resulted in a 401 No Autorizado response: {"error":"102","error_description":"Client credentials not valid","timestamp":"2016-06-25T14:08:54.774Z"} in /app/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:107

所以我做错了什么,但我没有找到错在哪里。

任何想法,谢谢。

奥斯卡

最佳答案

正如我看到您的请求的 HTTP header :

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==,Bearer 07d18fac-77ea-461f-9bfe-a5e9d98deb3d

您有一个 Authorization header ,其中包含一个逗号分隔值。他们彼此并不分开。因此,您无法像您所做的那样从 Guzzle 的 auth key 中受益。

您应该做的是手动设置授权 header :

$newresponse = $basicauth->request(
'GET',
'api/1/curriculum',
['debug' => true],
['headers' =>
[
'Authorization' => "Basic {$credentials},Bearer {$acceso->access_token}"
]
]
)->getBody()->getContents();

关于具有基本身份验证和不记名 token 的 PHP Guzzle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38029422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com