如何获得Google People API的电子邮件?

时间:2019-04-01 06:39:50

标签: google-people

我正在使用PHP中的Google people API客户端库。 成功通过身份验证后,我想收到电子邮件 帮助我从下面的代码中找出问题所在。 我可以使用多个范围来获取电子邮件吗,因为当我使用不同的范围时会给我错误

function getClient() {

$client = new Google_Client();
$client->setApplicationName('People API');
$client->setScopes(Google_Service_PeopleService::CONTACTS);
$client->setAuthConfig('credentials.json');
$client->setAccessType('offline');
$client->setPrompt('select_account consent');

$str = file_get_contents('credentials.json');
$json = json_decode( $str, true );
$url = $json['web']['redirect_uris'][0];

if (isset($_GET['oauth'])) {

    $auth_url = $client->createAuthUrl();
    header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));

} else if (isset($_GET['code'])) {

    $client->authenticate($_GET['code']);

    $_SESSION['access_token'] = $client->getAccessToken();

    $redirect_uri = $url;
    header('Location: ' . filter_var($redirect_uri,FILTER_SANITIZE_URL));

} else if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {

    $client->setAccessToken($_SESSION['access_token']);
    $people_service = new Google_Service_PeopleService($client);

} else {
    $redirect_uri = $url.'/?oauth';
    header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}

return $people_service;
}

$optParams = array(
'pageSize' => 100,
'personFields' => 'addresses,ageRanges,biographies,birthdays,braggingRights,coverPhotos,emailAddresses,events,genders,imClients,interests,locales,memberships,metadata,names,nicknames,occupations,organizations,phoneNumbers,photos,relations,relationshipInterests,relationshipStatuses,residences,sipAddresses,skills,taglines,urls,userDefined',
);

$people_service = getClient();
$connections = $people_service->people_connections- 
>listPeopleConnections('people/me', $optParams);

0 个答案:

没有答案