PHP+google

2020-05-22  本文已影响0人  泽_0b48

1、获取ID+秘钥 https://console.developers.google.com/

image.png
image.png
image.png
创建凭据获取客户端ID+秘钥
image.png
2、下载SDK
https://github.com/googleapis/google-api-php-client/releases

3、跳转登录

        require APP_ROOT_PATH."google-api-php-client-2.4.1/vendor/autoload.php";
        $clientID = '你的clientID';
        $clientSecret = '你的clientSecret';
        $aUrl = 回调地址;
        $redirectUri = $aUrl;

    // create Client Request to access Google API
        $client = new Google_Client();
        $client->setClientId($clientID);
        $client->setClientSecret($clientSecret);
        $client->setRedirectUri($redirectUri);
        $client->addScope("email");
        $client->addScope("profile");

        // authenticate code from Google OAuth Flow
        if (isset($_GET['code'])) {
            $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
            $client->setAccessToken($token['access_token']);

            // get profile info
            $google_oauth = new Google_Service_Oauth2($client);
            $google_account_info = $google_oauth->userinfo->get();
            $email =  $google_account_info->email;
            $name =  $google_account_info->name;

            // now you can use this profile info to create account in your website and make user logged in.
        } else {
            $loginUrl = $client->createAuthUrl();
            app_redirect($loginUrl);
        }

4、回调

            require APP_ROOT_PATH."google-api-php-client-2.4.1/vendor/autoload.php";
            $clientID = '你的clientID';
            $clientSecret = '你的clientSecret';
            $aUrl = 回调地址;
            $redirectUri = $aUrl;

            // create Client Request to access Google API
            $client = new Google_Client();
            $client->setClientId($clientID);
            $client->setClientSecret($clientSecret);
            $client->setRedirectUri($redirectUri);
            $client->addScope("email");
            $client->addScope("profile");
            // authenticate code from Google OAuth Flow
            if (isset($_GET['code'])) {
                $token = $client->authenticate($_GET['code']);
                $client->setAccessToken($token['access_token']);
                $q = 'https://www.googleapis.com/oauth2/v1/userinfo?access_token='.$token['access_token'];
                $json = file_get_contents($q);
                $userInfoArray = json_decode($json,true);
              //var_dump($userInfoArray);die;  //接收的数据
              //处理
            }
            
上一篇下一篇

猜你喜欢

热点阅读