根据我尝试发出 GET 请求的文档。当我通过 POSTMAN 应用程序发出 GET 请求时,它工作正常并且它返回正确的响应,但是当我尝试通过 php(Laravel) 进行相同的调用时,我得到 401 错误代码。
我的基本身份验证代码如下所示:
namespace App;
use GuzzleHttp\Client;
class Api extends Model
{
static function TiktalikRespond(){
$client = new Client();
$base_encode = base64_encode(username:password);
$res = $client->get(
'https://www.tiktalik.com/api/v1/computing/instance',
['headers' => ['Authorization' => 'Basic '.$base_encode]]
);
$respond = $res->getBody();
return json_decode($respond);
}
}
我的 API 密钥代码如下所示:
namespace App;
use GuzzleHttp\Client;
class Api extends Model
{
static function TiktalikRespond2(){
$client = new Client();
$sha1 = hash_hmac('sha1',
'GET \n \n application\json \n X-TK-Date \n https://www.tiktalik.com/api/v1/computing/instance',
'private_api_key');
$res = $client->get(
'https://www.tiktalik.com/api/v1/computing/instance',
['headers' => ['Authorization' => 'TKAuth API_KEY:'.$sha1]]
);
$respond = $res->getBody();
return json_decode($respond);
}
}
我需要焕然一新,也许我做错了什么:)
PS。API Auth 不适用于 PHP 和 POSTMAN 这两种情况,我猜我用 SHA1 值搞砸了一些东西:)