【问题标题】:Google API - request for token from Oauth2 returns null tokenGoogle API - 来自 Oauth2 的令牌请求返回空令牌
【发布时间】:2016-06-26 12:36:42
【问题描述】:

对于凭据,我在https://console.developers.google.com 上创建了一个开发者帐户,我创建了一个项目,然后我从 API Manager 创建了凭据。我使用 "google/apiclient": "1.1.*" 包。我认为这是凭据的问题。

    $OAUTH2_CLIENT_ID = 'XXXXX-rvm1l9b1nvht9je1ic0bbe05ab5gvhbg.apps.googleusercontent.com';
    $OAUTH2_CLIENT_SECRET = 'XXXXXXP90L_DLD3Nrc_rT4zGD';

    $client = new Google_Client();
    $client->setClientId($OAUTH2_CLIENT_ID);
    $client->setClientSecret($OAUTH2_CLIENT_SECRET);
    $client->setScopes('https://www.googleapis.com/auth/youtube');
    $redirect = url('/');
    $client->setRedirectUri($redirect);


    $token = $client->getAccessToken();
    dd($token);

【问题讨论】:

  • 是否请求用户访问?您是否尝试过针对 api 提出请求?如果内存服务它不会获取第一个访问令牌,直到它真正需要一个。
  • 它重定向到accounts.google.com

标签: php laravel oauth-2.0 google-api google-api-php-client


【解决方案1】:

提示:

不要使用:

$client->authenticate($authcode);
$token = $client->getAccessToken();

用途:

 $token = $client->fetchAccessTokenWithAuthCode($authcode);

如果您转储$token,这至少可以让您看到错误消息。 在“不要使用:”示例中,如果 authenticate() 步骤失败,getAccessToken() 可能会返回 null。这里的 API 做得不好。

【讨论】:

    【解决方案2】:

    我认为问题在于您没有请求 Google 进行身份验证并取回令牌。你应该这样做:

    $client = new Google_Client();
    $client->setClientId($OAUTH2_CLIENT_ID);
    $client->setClientSecret($OAUTH2_CLIENT_SECRET);
    $client->setScopes('https://www.googleapis.com/auth/youtube');
    $redirect = url('/');
    $client->setRedirectUri($redirect);
    
    //redirect to google server to get the token 
    return Redirect::to( $client->createAuthUrl() );
    

    如果认证成功,谷歌会将你重定向到你用$client->setRedirectUri($redirect)设置的页面。

    在该页面中,您可以:

    //authenticate using the parameter $_GET['code'] you got from google server
    $client->authenticate( $request->input('code') );
    
    //get the access token
    $tokens = $client->getAccessToken();
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    • 2018-12-02
    • 1970-01-01
    • 2020-12-14
    相关资源
    最近更新 更多