Laravel 获取用户信息错误 URI 必须是字符串或 UriInterface

问题描述 投票:0回答:1

当谷歌在生产中获取用户信息时遇到问题
从本地成功
这是我使用 guzzle 客户端的代码:

use GuzzleHttp\Client;

$client = new Client();
$requestAPI = $client->get('https://www.googleapis.com/oauth2/v1/tokeninfo', [
    'headers' => [
        'Content-Type' => 'application/json',
    ],
    'query' => [
        'access_token' => request('access_token')
    ]
]);

回复:

“URI 必须是字符串或 UriInterface”

我正在使用 laravel 8 和 php 7.4

php laravel google-api guzzle
1个回答
0
投票

试试这个:

$client = new Client();
$uri = new Uri('https://www.googleapis.com/oauth2/v1/tokeninfo');
//Uri from GuzzleHttp\Psr7\Uri
$uri = Uri::withQueryValue($uri, 'access_token', request('access_token'));

$requestAPI = $client->get($uri, [
    'headers' => [
        'Content-Type' => 'application/json',
    ],
]);
...
© www.soinside.com 2019 - 2024. All rights reserved.