基于Documentation,我尝试发出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值的东西:)