首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php中的Google Fitness API

php中的Google Fitness API
EN

Stack Overflow用户
提问于 2020-01-10 16:22:17
回答 1查看 433关注 0票数 0
代码语言:javascript
复制
     $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",“消息”:“权限不足:请求没有足够的身份验证作用域”结束。

EN

回答 1

Stack Overflow用户

发布于 2020-01-10 16:31:15

Users.dataSources: list需要以下作用域之一才能使用。

您似乎正在使用列表中的其中一个

Google_Service_Fitness::FITNESS_ACTIVITY_READ

我已经测试过了,作用域允许调用该API,这意味着这不是api的问题。

问题是,您可能已经对用户进行了身份验证,然后更改了代码中的作用域,而没有对请求新作用域的用户进行重新身份验证。您需要重新登录该用户

'approval_prompt‘强制’=>‘

您需要它弹出并再次请求权限

您可能需要转到您的谷歌帐户并移除应用程序权限才能重置其remove

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59677834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档