需先至 https://console.developers.google.com/
註冊帳號,
並於API驗證,建立以下資訊
1.用戶端ID:
2.電子郵件地址:
3.用戶端密碼:
4.重新導向URL:
5.授權的JavaScript
建立金鑰:Api key
下載google-api-php-client 使用的API並解壓縮放在目錄下
在申請完各項驗證之後,
即可以開始實作引入:
1.使用者授權登入: OAuth 2.0 PHP API
https://developers.google.com/api-client-library/php/start/get_started 相關說明
使用googleAPI中的 Google_Oauth2Service 取得使用者資料 程式碼如下
setApplicationName("Test Google+");
//參數設定,google console 設定API的資料
$client->setClientId('google設定的ID');
$client->setClientSecret(google設定的Secret'');
$client->setRedirectUri('google設定的導向網址');
$client->setDeveloperKey('google設定的Key');
$client->setScopes(array('https://www.googleapis.com/auth/userinfo.email','https://www.googleapis.com/auth/userinfo.profile'));
$google_user = new Google_Oauth2Service($client); //將設定檔案傳入使用Oauth2
if (isset($_REQUEST['logout'])) //確認是否有收到logout 清除session
{
unset($_SESSION['access_token']);
}
if (isset($_GET['code'])) //收到google Oauth2 授權傳入的code 進行後續調用資料
{
$client->authenticate($_GET['code']);
$_SESSION['access_token'] = $client->getAccessToken();
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}
if (isset($_SESSION['access_token'])) //進行後client token設定
{
$client->setAccessToken($_SESSION['access_token']);
}
if ($client->getAccessToken()) //如果存在 getAccessToken() 代表Oauth2成功,進行使用者資料存取
{
$userinfo = $google_user->userinfo;
print_r($userinfo->get()); // Google_Oauth2Service 提供的方法 截取資料
}
else
{
$authUrl = $client->createAuthUrl(); //存在Authurl導致
}
?>
Google 登入 使用者資料
Connect Me!
";
} else {
print "Logout";
}
?>
沒有留言:
張貼留言