Как обновить / удалить контакт (Google Люди) с переполнением стека

в течение 3 дней я разочарован, потому что у Google нет учебника для php.
(Извините за мой плохой английский)

я получил ошибку при обновлении имен:

$client=client_google();
$google_id="people/c3062123412341234";

if ($client->getAccessToken() == "") return null;

$people_service = new Google_Service_PeopleService($client);
$person = new Google_Service_PeopleService_Person();

if($tipenya == "Cancel"){
$name = new Google_Service_PeopleService_Name();
$name->SetFamilyName("Keluarga Cemara");
$name->SetGivenName("Tampan");
$person->setNames($name);

$profile = $people_service->people->get(
$google_id,
array('personFields' => 'metadata'));

$etag = $profile->etag;
$person->setEtag($etag);
$person->setResourceName($google_id);

if($google_id !=''){
//$people_service->people->updatePersonField("names");
$people_service->people->updateContact($google_id,$person);
}

}else if($tipenya=="Delete"){
if($google_id !=''){
$person->setResourceName($google_id);
$people_service->people->deleteContact($person);
}

}

Ошибка при выполнении:

исключение «Google_Service_Exception» с сообщением «{
«ошибка»: {
«код»: 400,
«message»: «требуется маска updatePersonFields. Пожалуйста, укажите один или несколько допустимых путей. Допустимые пути задокументированы в https://developers.google.com/people/api/rest/v1/people/update.»,
«ошибки»: [
{
«message»: «требуется маска updatePersonFields. Пожалуйста, укажите один или несколько допустимых путей. Допустимые пути задокументированы в https://developers.google.com/people/api/rest/v1/people/update.»,
«домен»: «глобальный»,
«reason»: «badRequest»}
],
«status»: «INVALID_ARGUMENT»}} ‘

1

Решение

Вам нужно указать параметр updatePersonFields, Похоже, что параметры передаются в качестве последнего аргумента, глядя на примеры чтения в документация. Вероятно, это должно выглядеть примерно так:

$params = array('updatePersonFields' => 'names,emailAddresses');
$people_service->people->updateContact($google_id,$person,$params);

Я не проверял выше, так что это может быть не точный синтаксис.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]