gpt4 book ai didi

php - 使用适用于 PHP 的 Google+ API——需要获取用户电子邮件

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:53:30 30 4
gpt4 key购买 nike

我正在使用 Google PHP API。该文档相当乏味...我想让用户连接他们的 Google+ 信息,并使用它在我的数据库中注册用户。为此,我需要获取他们用于谷歌帐户的电子邮件。我似乎不知道该怎么做。通过在用户连接到我的应用程序时强制许可,在 Facebook 中很容易。有人知道吗?这是我用来获取用户 google+ 个人资料的代码,它工作正常,但用户可能没有在此处列出他们的电子邮件。

include_once("$DOCUMENT_ROOT/../qwiku_src/php/google/initialize.php");

$plus = new apiPlusService($client);
if (isset($_GET['code'])) {
$client->authenticate();
$_SESSION['token'] = $client->getAccessToken();
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}

if (isset($_SESSION['token'])) {
$client->setAccessToken($_SESSION['token']);
}

if ($client->getAccessToken()) {
$me = $plus->people->get('me');
print "Your Profile: <pre>" . print_r($me, true) . "</pre>";
// The access token may have been updated lazily.
$_SESSION['token'] = $client->getAccessToken();
} else {
$authUrl = $client->createAuthUrl();
print "<a class='login' href='$authUrl'>Connect Me!</a>";
}

没有用户的电子邮件地址,这有点违背了允许用户注册 Google+ 的目的 任何更熟悉 Google API 的人都知道我如何获得它?

最佳答案

Google API PHP 客户端现在支持 UserInfo API。

这是一个小示例应用程序: http://code.google.com/p/google-api-php-client/source/browse/trunk/examples/userinfo/index.php

样本的重要部分在这里:

  $client = new apiClient();
$client->setApplicationName(APP_NAME);
$client->setClientId(CLIENT_ID);
$client->setClientSecret(CLIENT_SECRET);
$client->setRedirectUri(REDIRECT_URI);
$client->setDeveloperKey(DEVELOPER_KEY);
$client->setScopes(array('https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/plus.me')); // Important!

$oauth2 = new apiOauth2Service($client);

// Authenticate the user, $_GET['code'] is used internally:
$client->authenticate();

// Will get id (number), email (string) and verified_email (boolean):
$user = $oauth2->userinfo->get();
$email = filter_var($user['email'], FILTER_SANITIZE_EMAIL);
print $email;

我假设此代码段是通过包含授权代码的 GET 请求调用的。请记住包含或需要 apiOauth2Service.php 才能使其正常工作。在我的例子中是这样的:

  require_once 'google-api-php-client/apiClient.php';
require_once 'google-api-php-client/contrib/apiOauth2Service.php';

祝你好运。

关于php - 使用适用于 PHP 的 Google+ API——需要获取用户电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8706288/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com