يتطلب تفويضًا
يدرج جهة اتصال جديدة. اطّلِع على مثال.
طلب
طلب HTTP
POST https://www.googleapis.com/mirror/v1/contacts
التفويض
ويتطلب هذا الطلب تفويضًا من خلال النطاق التالي (اقرأ المزيد عن المصادقة والتفويض).
النطاق |
---|
https://www.googleapis.com/auth/glass.timeline |
نص الطلب
في نص الطلب، قدّم مورد "جهات اتصال Google" مع الخصائص التالية:
اسم الموقع | القيمة | الوصف | ملاحظات |
---|---|---|---|
الخصائص المطلوبة | |||
acceptCommands[].type |
string |
نوع العملية التي يتوافق معها هذا الأمر. القيم المسموح بها هي:
|
قابلة للكتابة |
displayName |
string |
الاسم الذي سيتم عرضه لجهة الاتصال هذه. | قابلة للكتابة |
id |
string |
معرّف لجهة الاتصال هذه. يتم إنشاء هذا بواسطة التطبيق ويتم التعامل معه كرمز مميز غير شفاف. | قابلة للكتابة |
imageUrls[] |
list |
مجموعة من عناوين URL للصور لعرضها لجهة اتصال. سيكون لدى معظم جهات الاتصال صورة واحدة، ولكن قد تتضمن جهة اتصال "المجموعة" ما يصل إلى 8 عناوين URL للصور وسيتم تغيير حجمها واقتصاصها في الفسيفساء على البرنامج. | قابلة للكتابة |
الخصائص الاختيارية | |||
acceptCommands[] |
list |
قائمة بطلبات قائمة صوتية يمكن لجهة اتصال معالجتها. يعرض تطبيق Glass ما يصل إلى ثلاث جهات اتصال لكل أمر قائمة صوتية. إذا كان هناك أكثر من ذلك، يتم عرض جهات الاتصال الثلاث الحاصلة على أعلى priority لهذا الطلب تحديدًا. |
قابلة للكتابة |
acceptTypes[] |
list |
قائمة بأنواع MIME المتوافقة مع جهة الاتصال. سيتم عرض جهة الاتصال للمستخدم إذا كان أي من جوانب القبول الخاصة به يتطابق مع أي من أنواع المرفقات في العنصر. إذا لم يتم قبول typeTypes، فسيتم عرض جهة الاتصال لجميع العناصر. | قابلة للكتابة |
phoneNumber |
string |
رقم الهاتف الأساسي لجهة الاتصال. يمكن أن يكون هذا رقمًا مؤهلاً بالكامل، مع رمز الاتصال بالبلد ورمز المنطقة، أو رقمًا محليًا. | قابلة للكتابة |
priority |
unsigned integer |
أولوية جهة الاتصال لتحديد الترتيب في قائمة جهات الاتصال. سيتم عرض جهات الاتصال ذات الأولوية الأعلى قبل جهات الاتصال ذات الأولوية الأقل. | قابلة للكتابة |
speakableName |
string |
اسم جهة الاتصال هذه كما يجب أن يتم لفظها. إذا كان يجب نطق اسم جهة الاتصال هذه كجزء من قائمة توضيح صوتي، سيتم استخدام هذا الاسم على أنه اللفظ المتوقع. ويفيد هذا في أسماء جهات الاتصال التي تحتوي على أحرف غير واضحة، أو التي يكون تهجئة عرضها غير صوتي. | قابلة للكتابة |
type |
string |
نوع جهة الاتصال هذه. يُستخدم هذا التصنيف في واجهات المستخدم. القيم المسموح بها هي:
|
قابلة للكتابة |
الإجابة
إذا نجحت هذه الطريقة، فإنها تعرض مورد جهات الاتصال في نص الاستجابة.
أمثلة
ملاحظة: إنّ الأمثلة المرتبطة بالرموز والمتوفرة لهذه الطريقة لا تمثّل كل لغات البرمجة المتوافقة (يُرجى مراجعة صفحة مكتبات البرامج للاطّلاع على قائمة باللغات المتوافقة).
لغة 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.
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"] }