Laravel卷曲请求导致“ 403禁止访问”响应

时间:2019-08-09 01:54:08

标签: php api curl laravel-5

我正在研究一个基于laravel的项目,我需要从Toggl帐户导入时间条目。 Toggl似乎已经安装了正确的API,但是由于某种原因,我无法通过API提取记录。

我正在使用下面提到的库来访问Toggl API。 https://medium.com/laravel-5-the-right-way/using-guzzlehttp-with-laravel-1dbea1f633da

对于API的每个请求,我都遇到了错误。 GuzzleHttp \ Exception \ ClientException(403) 客户端错误:GET https://toggl.com/api/v8/time_entries?user_agent=deepak%40gmail.com&workspace_id=257895&with_related_data=1导致了403 Forbidden响应

我试图通过添加或删除随每个请求一起发送的(如下所述)标头元素来修复此问题。但这仍然行不通。

use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Client;

$client = new Client;
$credentials = base64_encode('e5e8238ca0fee3ca726e486733c87456:api_token');
$url = 'https://toggl.com/api/v8/time_entries';

$response = $client->get($url,
    [
        'referer' => true,
        'headers' => [
            'Authorization: Basic ' => $credentials,
            'Content-Type: application/json',
            'User-Agent' => 'Mozilla /5.0 (Compatible MSIE 9.0;Windows NT 6.1;WOW64; Trident/5.0)',
            'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
            'Accept-Encoding' => 'gzip, deflate, br',
        ],

        'query' => [
            'user_agent' => 'deepak@gmail.com',
            'workspace_id' => '8756952',
            'with_related_data' => true,

        ],
        "http_errors" => false,
    ]);
dd($response);

它应该从Toggl检索记录并在浏览器上打印JSON。

有趣的是,我能够使用以下命令通过命令行界面提取记录。 curl -v -u e5e8238ca0fee3ca726e486733c85468:api_token -X GET https://www.toggl.com/api/v8/time_entries

请注意,在上述代码段中,出于明显原因,我更改了API密钥。

谢谢

0 个答案:

没有答案