Contacts: insert

נדרשת הרשאה

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

בקשה

בקשת HTTP

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

אישור

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

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

גוף הבקשה

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

שם הנכס ערך תיאור הערות
המאפיינים הנדרשים
acceptCommands[].type string סוג הפעולה שהפקודה הזו מתייחסת אליה. הערכים המותרים הם:
  • TAKE_A_NOTE – שיתוף פריט בציר הזמן עם תמליל הדיבור של המשתמש מההערה 'סיכום הערה' פקודה קולית בתפריט.
  • POST_AN_UPDATE – שיתוף פריט בציר הזמן עם תמליל הדיבור של המשתמש מהקטע 'פרסום עדכון' פקודה קולית בתפריט.
ניתן לכתיבה
displayName string השם שיוצג עבור איש הקשר הזה. ניתן לכתיבה
id string המזהה של איש הקשר הזה. המזהה נוצר על ידי האפליקציה ומטופל כמו אסימון אטום. ניתן לכתיבה
imageUrls[] list קבוצה של כתובות URL של תמונות שיוצגו עבור איש קשר. לרוב אנשי הקשר תהיה תמונה אחת, אבל 'קבוצה' אנשי קשר יכולים לכלול עד 8 כתובות URL של תמונות. הגודל שלהן ישתנה וייחתך לפסיפס בצד הלקוח. ניתן לכתיבה
מאפיינים אופציונליים
acceptCommands[] list רשימת פקודות בתפריט הקולי שאיש קשר יכול לטפל בהן. ב-Glass מוצגים עד שלושה אנשי קשר בכל פקודה קולית בתפריט. אם יש מספר גדול יותר של יעדים, שלושת אנשי הקשר עם הערך priority הגבוה ביותר יוצגו עבור הפקודה הספציפית הזו. ניתן לכתיבה
acceptTypes[] list רשימה של סוגי MIME שבהם אנשי קשר תומכים. איש הקשר יוצג למשתמש אם אחד מסוגי ה-AcceptType שלו תואם לאחד מסוגי הקבצים המצורפים בפריט. אם לא תספקו ערכים קבילים, איש הקשר יוצג לכל הפריטים. ניתן לכתיבה
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

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

##
# 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"]
}