পরিচিতি পড়ুন এবং পরিচালনা করুন

আপনি Get Ready to Use the People API- এর ধাপগুলি সম্পূর্ণ করার পরে আপনি পরিচিতিগুলি পড়তে এবং পরিচালনা করতে প্রস্তুত৷

নিম্নলিখিত কোড নমুনাগুলি দেখায় কিভাবে কয়েকটি সহজ অনুরোধ পাঠাতে হয়। পদ্ধতির সম্পূর্ণ তালিকার জন্য, রেফারেন্স ডকুমেন্টেশন দেখুন।

ব্যবহারকারীর পরিচিতি তালিকাভুক্ত করুন

ব্যবহারকারীর পরিচিতিতে থাকা ব্যক্তিদের একটি তালিকা পেতে , নিম্নলিখিত কোডটি ব্যবহার করুন:

প্রোটোকল

GET /v1/people/me/connections?personFields=names,emailAddresses HTTP/1.1
Host: people.googleapis.com

জাভা

ListConnectionsResponse response = peopleService.people().connections().list("people/me")
    .setPersonFields("names,emailAddresses")
    .execute();
List<Person> people = response.getConnections();

পাইথন

people = people_service.people().connections()
    .list('people/me', personFields='names,emailAddresses')

পিএইচপি

$people = $people_service->people_connections->listPeopleConnections(
    'people/me', array('personFields' => 'names,emailAddresses'));

.নেট

PeopleResource.ConnectionsResource.ListRequest peopleRequest =
    peopleService.People.Connections.List("people/me");
peopleRequest.PersonFields = "names,emailAddresses";
ListConnectionsResponse response = peopleRequest.Execute();
IList<Person> people = response.Connections;

পরিবর্তন হয়েছে ব্যবহারকারীর পরিচিতি তালিকা

জাভা

// Initial request
ListConnectionsResponse fullSyncResponse = peopleService.people().connections().list("people/me")
    .setPersonFields("metadata,names,emailAddresses")
    .setRequestSyncToken(true)
    .execute();
// Fetch all the pages
while (fullSyncResponse.getNextPageToken() != null) {
  fullSyncResponse = peopleService.people().connections().list("people/me")
      .setPersonFields("metadata,names,emailAddresses")
      .setRequestSyncToken(true)
      .setPageToken(fullSyncResponse.getNextPageToken())
      .execute();
}

// Some time passes

// Fetch incremental changes using the sync token returned in the last fullSyncResponse.
try {
  ListConnectionsResponse incrementalSyncResponse = peopleService.people().connections().list("people/me")
      .setPersonFields("metadata,names,emailAddresses")
      .setSyncToken(fullSyncResponse.getNextSyncToken())
      .execute();
  for (Person person : incrementalSyncResponse.getConnections()) {
    handlePerson(person);
  }

  // Fetch all the pages
  while (incrementalSyncResponse.getNextPageToken() != null) {
    incrementalSyncResponse = peopleService.people().connections().list("people/me")
        .setPersonFields("metadata,names,emailAddresses")
        .setSyncToken(fullSyncResponse.getNextSyncToken())
        .setPageToken(incrementalSyncResponse.getNextPageToken())
        .execute();
    for (Person person : incrementalSyncResponse.getConnections()) {
      handlePerson(person);
    }
  }
} catch (GoogleJsonResponseException e) {
  if (e.getStatusCode() == 410) {
    // Sync token expired. Make full sync request.
  }
}

void handlePerson(Person person) {
  if (person.getMetadata().getDeleted()) {
    // Handle deleted person
  } else {
    // Handle changed person
  }
}

ListConnections এ সিঙ্ক আচরণ সম্পর্কে আরও বিশদ বিবরণ।

ব্যবহারকারীর পরিচিতি অনুসন্ধান করুন

ব্যবহারকারীর সমস্ত পরিচিতি অনুসন্ধান করতে, নিম্নলিখিত কোডটি ব্যবহার করুন:

প্রোটোকল

// Warmup cache
GET /v1/people:searchContacts?query=&readMask=names,emailAddresses HTTP/1.1
Host: people.googleapis.com

// Send search request after several seconds GET /v1/people:searchContacts?query=query&readMask=names,emailAddresses HTTP/1.1 Host: people.googleapis.com

জাভা

// Warmup cache
SearchResponse response = peopleService.people().searchContacts()
    .setQuery("")
    .setReadMask("names,emailAddresses")
    .execute();

// Wait a few seconds Thread.sleep(5);

// Send search request SearchResponse response = peopleService.people().searchContacts() .setQuery("query") .setReadMask("names,emailAddresses") .execute();

একটি নতুন পরিচিতি তৈরি করুন

একটি নতুন পরিচিতি তৈরি করতে, নিম্নলিখিত কোড ব্যবহার করুন:

প্রোটোকল

POST /v1/people:createContact HTTP/1.1
Body: { "names": [{ "givenName": "John", "familyName": "Doe" }] }
Host: people.googleapis.com

জাভা

Person contactToCreate = new Person();
List<Name> names = new ArrayList<>();
names.add(new Name().setGivenName("John").setFamilyName("Doe"));
contactToCreate.setNames(names);

Person createdContact = peopleService.people().createContact(contactToCreate).execute();

অনুরোধ প্রতি কোটা ব্যবহার

  • 1 সমালোচনামূলক পড়ার অনুরোধ (যোগাযোগ এবং প্রোফাইল রিড)
  • 1 সমালোচনামূলক লেখার অনুরোধ (তৈরি এবং আপডেটের সাথে যোগাযোগ করুন)
  • 1টি দৈনিক যোগাযোগের লেখা (মোট)

একটি বিদ্যমান পরিচিতি আপডেট করুন

একটি বিদ্যমান পরিচিতি আপডেট করার জন্য, আপনাকে অবশ্যই ব্যক্তিটির মধ্যে person.metadata.sources.etag ক্ষেত্রটি অন্তর্ভুক্ত করতে হবে যাতে আপনার শেষ পড়ার পর থেকে পরিচিতিটি পরিবর্তিত হয়নি তা নিশ্চিত করতে যোগাযোগটি আপডেট করা হয়। নিম্নলিখিত কোড ব্যবহার করুন:

প্রোটোকল

PATCH /v1/resource_name:updateContact?updatePersonFields=emailAddresses HTTP/1.1
Body: {
    "resourceName": "resource_name",
    "etag": "etag",
    "emailAddresses": [{ "value": "john.doe@gmail.com" }],
}
Host: people.googleapis.com

জাভা

Person contactToUpdate = peopleService.people().get("resource_name").execute();

List<EmailAddress> emailAddresses = new ArrayList<>();
emailAddresses.add(new EmailAddress().setValue("john.doe@gmail.com"));
contactToUpdate.setEmailAddresses(emailAddresses);

Person updatedContact = peopleService.people()
    .updateContact(contactToUpdate.getResourceName(), contactToUpdate)
    .setUpdatePersonFields("emailAddresses")
    .execute();

অনুরোধ প্রতি কোটা ব্যবহার

  • 1 সমালোচনামূলক পড়ার অনুরোধ (যোগাযোগ এবং প্রোফাইল রিড)
  • 1 সমালোচনামূলক লেখার অনুরোধ (তৈরি এবং আপডেটের সাথে যোগাযোগ করুন)
  • 1টি দৈনিক যোগাযোগের লেখা (মোট)

একটি বিদ্যমান পরিচিতি মুছুন

একটি বিদ্যমান পরিচিতি মুছে ফেলতে , নিম্নলিখিত কোড ব্যবহার করুন:

প্রোটোকল

DELETE /v1/resource_name:deleteContact HTTP/1.1
Host: people.googleapis.com

জাভা

peopleService.people().deleteContact("resource_name").execute();

অনুরোধ প্রতি কোটা ব্যবহার

  • 1 অনুরোধ লিখুন (যোগাযোগ মুছে ফেলা এবং যোগাযোগ গ্রুপ লেখা)

ব্যাচ নতুন পরিচিতি তৈরি করুন

ব্যাচ নতুন পরিচিতি তৈরি করতে, নিম্নলিখিত কোড ব্যবহার করুন:

প্রোটোকল

POST /v1/people:batchCreateContacts?readMask=names HTTP/1.1
Body: {
  "contacts": [
    {
      "contactPerson": {
        "names": [
          {
            "givenName": "John",
            "familyName": "Doe"
          }
        ]
      }
    }
  ]
}
Host: people.googleapis.com

জাভা

Person person1 = new Person();
person1.setNames(ImmutableList.of(new Name().setGivenName("John").setFamilyName("Doe")));
ContactToCreate contactToCreate1 = new ContactToCreate();
contactToCreate1.setContactPerson(person1);

Person person2 = new Person();
person2.setNames(ImmutableList.of(new Name().setGivenName("Bob").setFamilyName("Dylan")));
ContactToCreate contactToCreate2 = new ContactToCreate();
contactToCreate2.setContactPerson(person2);

BatchCreateContactsRequest request = new BatchCreateContactsRequest();
request.setContacts(ImmutableList.of(contactToCreate1, contactToCreate2)).setReadMask("names");

BatchCreateContactsResponse response =
    peopleService.people().batchCreateContacts(request).execute();

অনুরোধ প্রতি কোটা ব্যবহার

  • 6 সমালোচনামূলক পড়ার অনুরোধ (যোগাযোগ এবং প্রোফাইল রিড)
  • 6 সমালোচনামূলক লেখার অনুরোধ (তৈরি এবং আপডেটের সাথে যোগাযোগ করুন)
  • 200টি দৈনিক যোগাযোগের লেখা (মোট)

ব্যাচ আপডেট বিদ্যমান পরিচিতি

একটি বিদ্যমান পরিচিতি আপডেট করার জন্য, আপনাকে অবশ্যই প্রতিটি ব্যক্তির মধ্যে person.metadata.sources.etag ক্ষেত্রটি অন্তর্ভুক্ত করতে হবে যাতে আপনার শেষ পড়ার পর থেকে পরিচিতিটি পরিবর্তিত হয়নি তা নিশ্চিত করার জন্য পরিচিতি আপডেট করা যায়। নিম্নলিখিত কোড ব্যবহার করুন:

প্রোটোকল

POST /v1/people:batchUpdateContacts?updateMask=names&readMask=names,emailAddresses HTTP/1.1
Body: {
  "contacts": {
    "resource_name": {
      "emailAddresses": [
        {
          "value": "john.doe@gmail.com"
        }
      ]
      "etag": "etag"
    }
  }
}
Host: people.googleapis.com

জাভা

Person contactToUpdate = peopleService.people().get("resource_name").execute();

contactToUpdate.setNames(
    ImmutableList.of(new Name().setGivenName("John").setFamilyName("Doe")));

BatchUpdateContactsRequest request = new BatchUpdateContactsRequest();
ImmutableMap<String, Person> map =
    ImmutableMap.of(contactToUpdate.getResourceName(), contactToUpdate);
request.setContacts(map).setUpdateMask("names").setReadMask("names,emailAddresses");

BatchUpdateContactsResponse response =
    peopleService.people().batchUpdateContacts(request).execute();

অনুরোধ প্রতি কোটা ব্যবহার

  • 6 সমালোচনামূলক পড়ার অনুরোধ (যোগাযোগ এবং প্রোফাইল রিড)
  • 6 সমালোচনামূলক লেখার অনুরোধ (তৈরি এবং আপডেটের সাথে যোগাযোগ করুন)
  • 200টি দৈনিক যোগাযোগের লেখা (মোট)

ব্যাচ বিদ্যমান পরিচিতি মুছে দিন

ব্যাচ বিদ্যমান পরিচিতি মুছে ফেলতে , নিম্নলিখিত কোড ব্যবহার করুন:

প্রোটোকল

POST /v1/people:batchDeleteContacts HTTP/1.1
Body: {"resource_names": ["resource_name"]}
Host: people.googleapis.com

জাভা

BatchDeleteContactsRequest request = new BatchDeleteContactsRequest();

request.setResourceNames(ImmutableList.of(resource_name));

peopleService.people().batchDeleteContacts(request).execute();

অনুরোধ প্রতি কোটা ব্যবহার

  • 10টি অনুরোধ লিখুন (যোগাযোগ মুছে ফেলা এবং যোগাযোগ গ্রুপ লেখা)