google people api: назначить / создать группу контактов - PullRequest
0 голосов
/ 18 сентября 2018

Я не могу понять, как создать новую группу контактов и назначить ее контакту с помощью API Google People в php.Ошибка

«person.memberships - поле только для чтения».

происходит в $ person-> setMemberships ():

    $contactGroup=new Google_Service_PeopleService_ContactGroup();
    //$contactGroup->setGroupType('USER_CONTACT_GROUP');
    $contactGroup->setName('Some group');
    $contactGroup->create();
    $cgm=new Google_Service_PeopleService_ContactGroupMembership();
    $cgm->setContactGroupId('groupID');
    $membership=new Google_Service_PeopleService_Membership();

    $membership->setContactGroupMembership($cgm);
      $person=new Google_Service_PeopleService_Person();

      $groupMemberships=array(($membership));
      $person->setMemberships(array($groupMemberships));//error happens here

Кто-нибудь может помочь с правильным примером создания группы контактов и присвоения ее контакту?

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

В следующем коде предполагается, что вы создали экземпляр объекта Google_Client, уже создали человека и знаете его идентификатор.

Пример идентификатора ресурса,

$person_id = 'people/1234567890abcde';

Создание группы контактов,

$peopleService = new Google_Service_PeopleService($client);

$newContactGroup = new Google_Service_PeopleService_ContactGroup;
$newContactGroup->setName('New contact group');

$createContactGroupRequest = new Google_Service_PeopleService_CreateContactGroupRequest;
$createContactGroupRequest->setContactGroup($newContactGroup);

$contactGroup = $peopleService->contactGroups->create($createContactGroupRequest);

$contact_group_id = $contactGroup->getResourceName();

Добавить человека в группу контактов,

$peopleService = new Google_Service_PeopleService($googleClient);

$modifyContactGroupMembersRequest = new Google_Service_PeopleService_ModifyContactGroupMembersRequest;
$modifyContactGroupMembersRequest->setResourceNamesToAdd($person_id);

$peopleService->contactGroups_members->modify($contact_group_id, $modifyContactGroupMembersRequest);
0 голосов
/ 19 сентября 2018

Вы не можете установить членов группы контактов в вызове создания. Вам нужно создать группу контактов в одном вызове, затем во втором вызове добавить ее с помощью members.modify api call.

...