Contacts: insert

נדרשת הרשאה

הוספת איש קשר חדש. לעיון בדוגמה

שליחת בקשה

בקשת HTTP

POST https://www.googleapis.com/mirror/v1/contacts

הרשאה

לבקשה הזו נדרשת הרשאה בהיקף ההרשאות הבא (מידע נוסף על אימות והרשאה).

היקף
https://www.googleapis.com/auth/glass.timeline

גוף הבקשה

בגוף הבקשה, מספקים משאב של אנשי קשר עם המאפיינים הבאים:

שם הנכס ערך תיאור הערות
מאפייני חובה
acceptCommands[].type string סוג הפעולה שהפקודה הזו תואמת לה. הערכים המותרים הם:
  • TAKE_A_NOTE – משתפת פריט בציר הזמן עם תמליל של דיבור מהמשתמש, מהפקודה הקולית "Take a note" לתפריט.
  • POST_AN_UPDATE – משתף פריט בציר הזמן עם תמליל של דיבור מהמשתמש מהפקודה "פרסום עדכון" בתפריט הקולי.
ניתן לכתיבה
displayName string השם שיוצג לאיש הקשר הזה. ניתן לכתיבה
id string המזהה של איש הקשר הזה. האפליקציה הזו יוצרת אסימון אטום. ניתן לכתיבה
imageUrls[] list קבוצה של כתובות URL של תמונות להצגה עבור איש קשר. לרוב אנשי הקשר תהיה תמונה אחת, אבל איש קשר מסוג "קבוצה" עשוי לכלול עד 8 כתובות URL של תמונות, והגודל שלהן ייחתך ויחתך לתוך הפסיפס אצל הלקוח. ניתן לכתיבה
מאפיינים אופציונליים
acceptCommands[] list רשימת פקודות בתפריט קולי שאיש קשר יכול לטפל בהן. Glass מציג עד שלושה אנשי קשר לכל פקודת תפריט קולי. אם יש יותר מערך זה, יוצגו שלושת אנשי הקשר עם הערך הגבוה ביותר של priority עבור אותה פקודה. ניתן לכתיבה
acceptTypes[] list רשימה של סוגי MIME שנתמכים על ידי איש קשר. איש הקשר יוצג למשתמש אם אחד מסוגי ה-AcceptTypes שלו תואם לאחד מסוגי הקבצים המצורפים בפריט. אם לא נתתם סוגי קבלות, איש הקשר יוצג בכל הפריטים. ניתן לכתיבה
phoneNumber string מספר הטלפון הראשי של איש הקשר. המספר יכול להיות מספר שלם, עם קידומת מדינה וקוד אזור, או מספר מקומי. ניתן לכתיבה
priority unsigned integer העדיפות של איש הקשר לקביעת סדר הרשימה של אנשי הקשר. אנשי קשר בעלי עדיפות גבוהה יותר יוצגו לפני אנשי קשר שנמצאים בעדיפות נמוכה יותר. ניתן לכתיבה
speakableName string השם של איש הקשר צריך להגות אותו. אם שם איש הקשר הזה חייב להקריא כחלק מתפריט הבחנה קולית, השם הזה ישמש כ הגייה הצפויה. זוהי אפשרות שימושית עבור שמות אנשי קשר עם תווים שאינם ברורים או שהאיות שלהם בשפה אינו פונטי. ניתן לכתיבה
type string הסוג של איש הקשר הזה. משמש למיון בממשקי משתמש. הערכים המותרים הם:
  • INDIVIDUAL – אדם יחיד. זוהי ברירת המחדל.
  • GROUP – מייצג יותר מאדם אחד.
ניתן לכתיבה

תשובה

אם הצלחת, בשיטה הזו מוחזר משאב אנשי קשר בגוף התגובה.

דוגמאות

הערה: דוגמאות הקוד הזמינות לשיטה זו לא מייצגות את כל שפות התכנות הנתמכות (רשימת השפות הנתמכות זמינה בדף של ספריות המשתמשים).

Java

משתמש בספריית הלקוחות של Java.

import com.google.api.services.mirror.Mirror;
import com.google.api.services.mirror.model.Contact;

import java.io.IOException;
import java.util.Arrays;

public class MyClass {
  // ...

  /**
   * Insert a new contact for the current user.
   * 
   * @param service Authorized Mirror service.
   * @param contactId ID of the contact to insert.
   * @param displayName Display name for the contact to insert.
   * @param iconUrl URL of the contact's icon.
   * @return The inserted contact on success, {@code null} otherwise.
   */
  public static Contact insertContact(Mirror service, String contactId, String displayName,
      String iconUrl) {
    Contact contact = new Contact();
    contact.setId(contactId);
    contact.setDisplayName(displayName);
    contact.setImageUrls(Arrays.asList(iconUrl));

    try {
      return service.contacts().insert(contact).execute();
    } catch (IOException e) {
      System.err.println("An error occurred: " + e);
      return null;
    }
  }

  // ...
}

‎.NET

משתמש בספריית הלקוח מסוג .NET

using System;
using System.Collections.Generic;

using Google.Apis.Mirror.v1;
using Google.Apis.Mirror.v1.Data;

public class MyClass {
  // ...

  /// <summary>
  /// Insert a new contact for the current user.
  /// </summary>
  /// <param name='service'>Authorized Mirror service.</param>
  /// <param name='contactId'>ID of the contact to insert.</param>
  /// <param name='displayName'>
  /// Display name for the contact to insert.
  /// </param>
  /// <param name='iconUrl'>URL of the contact's icon.</param>
  /// <returns>
  /// The inserted contact on success, null otherwise.
  /// </returns>
  public static Contact InsertContact(MirrorService service,
      String contactId, String displayName, String iconUrl) {
    Contact contact = new Contact() {
      Id = contactId,
      DisplayName = displayName,
      ImageUrls = new List<String>() {iconUrl}
    };
    try {
      return service.Contacts.Insert(contact).Fetch();
    } catch (Exception e) {
      Console.WriteLine("An error occurred: " + e.Message);
      return null;
    }
  }

  // ...
}

PHP

משתמש בספריית הלקוח של PHP.

/**
 * Insert a new contact for the current user.
 *
 * @param Google_MirrorService $service Authorized Mirror service.
 * @param string $contactId ID of the contact to insert.
 * @param string $displayName Display name for the contact to insert.
 * @param string $iconUrl URL of the contact's icon.
 * @return Google_Contact The inserted contact on success, null otherwise.
 */
function insertContact($service, $contactId, $displayName, $iconUrl) {
  try {
    $contact = new Google_Contact();
    $contact->setId($contactId);
    $contact->setDisplayName($displayName);
    $contact->setImageUrls(array($iconUrl));
    return $service->contacts->insert($contact);
  } catch (Exception $e) {
    print 'An error occurred: ' . $e->getMessage();
    return null;
  }
}

Python

משתמש בספריית הלקוחות של Python.

from apiclient import errors
# ...

def insert_contact(service, contact_id, display_name, icon_url):
  """Insert a new contact for the current user.

  Args:
    service: Authorized Mirror service.
    contact_id: ID of the contact to insert.
    display_name: Display name for the contact to insert.
    icon_url: URL of the contact's icon.
  Returns:
    The inserted contact on success, None otherwise.
  """
  contact = {
      'id': contact_id,
      'displayName': display_name,
      'imageUrls': [icon_url]
  }
  try:
    service.contacts().insert(body=contact).execute()
  except errors.HttpError, error:
    print 'An error occurred: %s' % error
    return None

Ruby

משתמש בספריית הלקוחות של Rubby.

##
# Insert a new contact for the current user.
#
# @param [Google::APIClient] client
#   Authorized client instance.
# @param [String] contact_id
#   ID of the contact to insert.
# @param [String] display_name
#   Display name for the contact to insert.
# @param [String] image_url
#   URL of the contact's icon.
# @return [Google::APIClient::Schema::Mirror::V1::Contact]
#   The inserted contact on success, nil otherwise.
def insert_contact(client, contact_id, display_name, image_url)
  mirror = client.discovered_api('mirror', 'v1')
  contact = mirror.contacts.insert.request_schema.new({
    'id' => contact_id,
    'displayName' => display_name,
    'imageUrls' => [image_url]
  })
  result = client.execute(
    :api_method => mirror.contacts.insert,
    :body_object => contact)
  if result.success?
    return result.data
  else
    puts "An error occurred: #{result.data['error']['message']}"
  end
end

Go

נעשה שימוש בספריית הלקוחות של Go.

import (
        "code.google.com/p/google-api-go-client/mirror/v1"
        "fmt"
)

// InsertContact inserts a new contact for the current user.
func InsertContact(g *mirror.Service, contactId string,
        displayName string, iconUrl string) (*mirror.Contact, error) {
        s := &mirror.Contact{
                Id:          contactId,
                DisplayName: displayName,
                ImageUrls:     []string{iconUrl},
        }
        r, err := g.Contacts.Insert(s).Do()
        if err != nil {
                fmt.Printf("An error occurred: %v\n", err)
                return nil, err
        }
        return r, nil
}

HTTP גולמי

לא נעשה שימוש בספריית לקוח.

POST /mirror/v1/contacts HTTP/1.1
Authorization: Bearer auth token
Content-Type: application/json
Content-Length: length

{
  "id": "harold"
  "displayName": "Harold Penguin",
  "imageUrls": ["https://developers.google.com/glass/images/harold.jpg"]
}