【问题标题】:Google api client->authenticate doesn't workGoogle api客户端->身份验证不起作用
【发布时间】:2017-04-08 13:56:08
【问题描述】:

我尝试使用 google youtube api。一切都好。但是使用 $_GET["code"] 我无法获得访问令牌。相关代码sn-p:

require ('XXX/vendor/autoload.php');
                    $client = new Google_Client();
                    $client->setApplicationName("XXX");
                    $client->setAuthConfig('XXX/client_secrets.json');
                    $client>addScope("https://www.googleapis.com/auth/youtube.readonly");
                    $redirect_uri = 'XXXX';
                    $client->setRedirectUri($redirect_uri);
                    $auth_url = $client->createAuthUrl();
                    if (isset($_GET['code'])) {
                            $test = $client->authenticate($_GET['code']);

                    }
echo '<div class="col-xs-6 col-sm-3" style="padding-top: 10px;">
                     <a href="'.$auth_url.'" style="border-radius: 5px;padding-left: inherit;padding-top: 5px;padding-bottom: 5px;width: 127px; display: block;" class="yutub" ><i class="fa fa-youtube" aria-hidden="true"></i>
                                <span class="social-text">YouTube</span><i class="fa fa-link" aria-hidden="true" style="padding-left: 15px;"></i></a></div>';

我可以在文件中写入 $_GET["code"]。但是身份验证无法正常工作。我阅读了所有关于它的文件。我该如何克服它?我的重定向页面就是这个页面。

【问题讨论】:

    标签: php google-api access-token


    【解决方案1】:

    您不会访问正在创建的身份验证 URL。在您创建您的身份验证 URL 后尝试使用它

    header('Location:'.$auth_url);
    

    然后您应该被重定向到用户进行身份验证的谷歌身份验证站点。之后,您将这段代码放在重定向页面上

    if (isset($_GET['code'])) {
          $test = $client->authenticate($_GET['code']);
    
    }
    

    另外,请确保您的客户端 ID 和密码 + 重定向 URL 设置正确。

    【讨论】:

    • 我把它放在 html 部分,它返回的代码用来交换访问令牌
    • 你能把你的整个代码贴出来吗,你的重定向页面也和这个页面一样吗?
    • 这个页面是我的重定向页面
    • 删除 $test 变量,让它变成这样: $client->authenticate($_GET['code']);在那一行之后你把这个: $test = $client->getAccessToken();
    • 执行停止在 $client->authenticate($_GET['code']);行:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 2017-08-02
    • 2021-08-21
    相关资源
    最近更新 更多