$user = Socialite::driver('google')->user();
// Set token for the Google API PHP Client
$google_client_token = [
'access_token' => $user->token,
'refresh_token' => $user->refreshToken,
'expires_in' => $user->expiresIn
];
$client = new Google_Client();
$client->setApplicationName("Laravel");
$client->setDeveloperKey(env('GOOGLE_SERVER_KEY'));
$client->setAccessToken(json_encode($google_client_token));
$client->setScopes(Google_Service_Fitness::FITNESS_ACTIVITY_READ);
$fitness_service = new Google_Service_Fitness($client);
$dataSources = $fitness_service->users_dataSources;
$dataSets = $fitness_service->users_dataSources_datasets;
$listDataSources = $dataSources->listUsersDataSources("me");
dd($dataSets);我尝试过,但总是以“域”:“全局”,“原因”:"insufficientPermissions",“消息”:“权限不足:请求没有足够的身份验证作用域”结束。
发布于 2020-01-10 16:31:15
Users.dataSources: list需要以下作用域之一才能使用。

您似乎正在使用列表中的其中一个
Google_Service_Fitness::FITNESS_ACTIVITY_READ
我已经测试过了,作用域允许调用该API,这意味着这不是api的问题。
问题是,您可能已经对用户进行了身份验证,然后更改了代码中的作用域,而没有对请求新作用域的用户进行重新身份验证。您需要重新登录该用户
'approval_prompt‘强制’=>‘
您需要它弹出并再次请求权限

您可能需要转到您的谷歌帐户并移除应用程序权限才能重置其remove
https://stackoverflow.com/questions/59677834
复制相似问题