如何在Laravel 5中调用经过身份验证的外部API

时间:2017-05-29 11:52:05

标签: php laravel laravel-5

我正在开发一个应用程序,其中数据将来自外部API http://finhelp/getStockDetails

如何从Laravel 5中调用持有者令牌认证的外部API?

1 个答案:

答案 0 :(得分:1)

您可以使用Guzzle HTTP client完成此操作。

首先,准备你的令牌:

$token = 'someToken';

使用基本URI创建Guzzle HTTP客户端:

$client = new GuzzleHttp\Client(['base_uri' => 'https://foo.com/api/']);

接下来,准备标头并包含Authorization标头。请注意,我们只是连接'Bearer'和$ token(包括它们之间的空格)。在这个例子中,我们还将'Accept'标题设置为'application / json',这是一种常见的情况:

$headers = [
    'Authorization' => 'Bearer ' . $token,        
    'Accept'        => 'application/json',
];

接下来,使用$ client向https://foo.com/api/bar发送请求。在请求中包含您的标头:

$response = $client->request('GET', 'bar', [
        'headers' => $headers
    ]);