נדרשת הרשאה
מעדכן פריט בציר הזמן במקומו. להצגת דוגמה
השיטה הזו תומכת ב-URI של /upload ומקבלת מדיה שהועלתה עם המאפיינים הבאים:
- גודל קובץ מקסימלי: 10MB
- סוגי MIME של המדיה:
audio/*
,image/*
,video/*
בקשה
בקשת HTTP
השיטה הזו מספקת פונקציונליות של העלאת מדיה באמצעות שני מזהי URI נפרדים. לפרטים נוספים, אפשר לעיין במסמך בנושא העלאת מדיה.
- URI של העלאה, לבקשות להעלאת מדיה:
PUT https://www.googleapis.com/upload/mirror/v1/timeline/id
- URI של מטא נתונים, לבקשות למטא נתונים בלבד:
PUT https://www.googleapis.com/mirror/v1/timeline/id
פרמטרים
שם הפרמטר | ערך | תיאור |
---|---|---|
פרמטרים של נתיב | ||
id |
string |
המזהה של הפריט בציר הזמן. |
פרמטרים נדרשים של שאילתה | ||
uploadType |
string |
סוג בקשת ההעלאה ל-URI של /upload.
הערכים הקבילים הם:
|
אישור
הבקשה הזו מחייבת הרשאה עם לפחות אחד מההיקפים הבאים (מידע נוסף על אימות והרשאה).
היקף |
---|
https://www.googleapis.com/auth/glass.timeline |
https://www.googleapis.com/auth/glass.location |
גוף הבקשה
בגוף הבקשה, מציינים משאב של ציר זמן עם המאפיינים הבאים בתור המטא-נתונים. למידע נוסף, אפשר לעיין במסמך בנושא העלאת מדיה.
שם הנכס | ערך | תיאור | הערות |
---|---|---|---|
מאפיינים אופציונליים | |||
bundleId |
string |
מזהה החבילה של הפריט הזה. שירותים יכולים לציין BundleId כדי לקבץ פריטים רבים יחד. הם מופיעים מתחת לפריט אחד ברמה העליונה במכשיר. | ניתן לכתיבה |
canonicalUrl |
string |
כתובת URL קנונית שמפנה לגרסה הקנונית או לגרסה האיכותית של הנתונים שמיוצגים על ידי הפריט בציר הזמן. | ניתן לכתיבה |
creator |
nested object |
המשתמש או הקבוצה שיצרו את הפריט הזה. | ניתן לכתיבה |
displayTime |
datetime |
השעה שיש להציג בעת הצגת הפריט הזה בציר הזמן, בפורמט שתואם ל-RFC 3339. ציר הזמן של המשתמש ממוין באופן כרונולוגי בזמן התצוגה, כך שהוא יקבע גם איפה הפריט יוצג בציר הזמן. אם השירות לא הגדיר את הזמן, זמן התצוגה יוצג כברירת מחדל כזמן updated . |
ניתן לכתיבה |
html |
string |
תוכן HTML של הפריט הזה. אם ציינתם לפריט גם את text וגם את html , השדה html יוצג בציר הזמן. רכיבי HTML מותרים – אפשר להשתמש ברכיבים האלה בכרטיסי ציר הזמן.
רכיבי HTML חסומים: הרכיבים האלה והתוכן שלהם יוסרו ממטענים ייעודיים (payloads) של HTML.
רכיבים אחרים: רכיבים שלא מופיעים ברשימה יוסרו, אבל התוכן שלהם יישמר. |
ניתן לכתיבה |
isBundleCover |
boolean |
האם הפריט הזה הוא שער חבילה. אם פריט מסומן ככריכה של חבילה, הוא יהיה נקודת הכניסה לחבילת הפריטים שה bundleId שלהם זהה לפריט הזה. הוא יוצג רק בציר הזמן הראשי — לא בתוך החבילה הפתוחה.בציר הזמן הראשי, הפריטים שמוצגים הם:
|
ניתן לכתיבה |
location |
nested object |
המיקום הגיאוגרפי שמשויך לפריט הזה. | ניתן לכתיבה |
menuItems[] |
list |
רשימה של אפשרויות בתפריט שיוצגו למשתמש כשהפריט הזה ייבחר בציר הזמן. | ניתן לכתיבה |
menuItems[].action |
string |
המדיניות הזו קובעת את ההתנהגות כשהמשתמש בוחר באפשרות בתפריט. הערכים המותרים הם:
|
ניתן לכתיבה |
menuItems[].id |
string |
המזהה של האפשרות הזו בתפריט. המזהה נוצר על ידי האפליקציה ומטופל כמו אסימון אטום. | ניתן לכתיבה |
menuItems[].payload |
string |
מטען ייעודי (payload) כללי שהמשמעות שלו משתנה בהתאם לפעולה של הפריט הזה בתפריט.
|
ניתן לכתיבה |
menuItems[].removeWhenSelected |
boolean |
אם המדיניות מוגדרת כ-True בתפריט CUSTOM , הפריט יוסר מהתפריט אחרי הבחירה בו. |
ניתן לכתיבה |
menuItems[].values[] |
list |
לגבי פריטים עם CUSTOM , רשימת ערכים שקובעים את המראה של האפשרות בתפריט בכל אחד מהמצבים שלה. יש לספק ערך עבור המצב DEFAULT . אם המצבים PENDING או CONFIRMED חסרים, הם לא יוצגו. |
ניתן לכתיבה |
menuItems[].values[].displayName |
string |
השם שיוצג לאפשרות בתפריט. אם מציינים את המאפיין הזה לאפשרות מובנית בתפריט, הפקודה הקולית לפי ההקשר שמוגדרת כברירת מחדל לא תוצג בתפריט. | ניתן לכתיבה |
menuItems[].values[].iconUrl |
string |
כתובת ה-URL של סמל שיוצג עם האפשרות בתפריט. | ניתן לכתיבה |
menuItems[].values[].state |
string |
המצב שעליו חל הערך. הערכים המותרים הם:
|
ניתן לכתיבה |
notification |
nested object |
המדיניות הזו קובעת איך ההתראות לגבי הפריט הזה יוצגו במכשיר. אם השדה הזה חסר, לא תיווצר התראה. | ניתן לכתיבה |
notification.deliveryTime |
datetime |
השעה שבה צריך למסור את ההתראה. | ניתן לכתיבה |
notification.level |
string |
מתארת את מידת החשיבות של ההתראה. הערכים המותרים הם:
|
ניתן לכתיבה |
recipients[] |
list |
רשימה של משתמשים או קבוצות שאיתם הפריט הזה שותף. | ניתן לכתיבה |
sourceItemId |
string |
מחרוזת אטומה שאפשר להשתמש בה כדי למפות פריט בציר הזמן לנתונים בשירות שלכם. | ניתן לכתיבה |
speakableText |
string |
גרסת הדיבור של תוכן הפריט הזה. בנוסף לאפשרות בתפריט READ_ALOUD , השתמשו בשדה הזה כדי לספק טקסט שיהיה ברור יותר בהקראה בקול, או כדי לספק מידע מורחב על התוכן שמוצג ב-Glass.תוכנת Glassware צריכה לציין גם את השדה SpeakableType, שייאמר לפני הטקסט הזה במקרים שבהם ההקשר הנוסף מועיל. לדוגמה, כשהמשתמש מבקש להקריא את הפריט לאחר התראה. |
ניתן לכתיבה |
speakableType |
string |
תיאור קולי של סוג הפריט הזה. תוכרז על כך למשתמש לפני קריאת תוכן הפריט, במקרים שבהם ההקשר הנוסף מועיל, לדוגמה, כשהמשתמש מבקש הקראה של הפריט לאחר התראה. זה צריך להיות ביטוי שם עצם קצר ופשוט, כמו "Email", "הודעת טקסט" או "Daily Planet News Update". מומלץ להשתמש ב-Glass כדי לאכלס את השדה הזה בכל פריט בציר הזמן, גם אם הפריט לא מכיל טקסט SpeakableText או טקסט כדי שהמשתמש יוכל ללמוד על סוג הפריט בלי להסתכל במסך. |
ניתן לכתיבה |
text |
string |
תוכן הטקסט של הפריט הזה. | ניתן לכתיבה |
title |
string |
הכותרת של הפריט הזה. | ניתן לכתיבה |
תשובה
אם הפעולה בוצעה ללא שגיאות, השיטה הזו מחזירה משאב של ציר הזמן בגוף התשובה.
דוגמאות
הערה: דוגמאות הקוד הזמינות לשיטה זו לא מייצגות את כל שפות התכנות הנתמכות (רשימת השפות הנתמכות זמינה בדף של ספריות המשתמשים).
Java
משתמש בספריית הלקוח של Java.
import com.google.api.services.mirror.Mirror; import com.google.api.services.mirror.model.NotificationConfig; import com.google.api.services.mirror.model.TimelineItem; import java.io.IOException; public class MyClass { // ... /** * Update a timeline item in the user's Glass with an optional notification and attachment. * * @param service Authorized Mirror service. * @param itemId ID of the timeline item to update. * @param newText timeline item's text. * @param newNotificationLevel Optional notification level, supported values * are {@code null} and "AUDIO_ONLY". * @return Updated timeline item on success, {@code null} otherwise. */ public static TimelineItem updateTimelineItem(Mirror service, String itemId, String newText, String newNotificationLevel) { try { // First retrieve the timeline item from the API. TimelineItem timelineItem = service.timeline().get(itemId).execute(); // Update the timeline item's metadata. timelineItem.setText(newText); if (newNotificationLevel != null && newNotificationLevel.length() > 0) { timelineItem.setNotification(new NotificationConfig().setLevel(newNotificationLevel)); } else { timelineItem.setNotification(null); } return service.timeline().update(itemId, timelineItem).execute(); } catch (IOException e) { System.err.println("An error occurred: " + e); return null; } } // ... }
.NET
משתמש בספריית הלקוח של NET..
using System; using System.IO; using Google.Apis.Mirror.v1; using Google.Apis.Mirror.v1.Data; public class MyClass { // ... /// <summary> /// Update a timeline item in the user's Glass with an optional /// notification and attachment. /// </summary> /// <param name='service'>Authorized Mirror service.</param> /// <param name='itemId'>ID of the timeline item to update.</param> /// <param name='newText'>Timeline Item's text content.</param> /// <param name='newNotificationLevel'> /// Optional notification level, supported values are null and /// "AUDIO_ONLY". /// </param> /// <returns> /// Updated timeline item on success, null otherwise. /// </returns> public static TimelineItem UpdateTimelineItem(MirrorService service, String itemId, String newText, String newNotificationLevel) { try { // First retrieve the timeline item from the API. TimelineItem timelineItem = service.Timeline.Get(itemId).Fetch(); // Update the timeline item's metadata. timelineItem.Text = newText; if (!String.IsNullOrEmpty(newNotificationLevel)) { timelineItem.Notification = new NotificationConfig() { Level = newNotificationLevel }; } else { timelineItem.Notification = null; } return service.Timeline.Update(timelineItem, itemId).Fetch(); } catch (Exception e) { Console.WriteLine("An error occurred: " + e.Message); return null; } } // ... }
PHP
משתמש בספריית הלקוח של PHP.
/** * Update a timeline item in the user's Glass with an optional * notification and attachment. * * @param Google_MirrorSservice $service Authorized Mirror service. * @param string $itemId ID of the timeline item to update. * @param string $newText timeline item's text (can be HTML content). * @param string $newNotificationLevel Optional notification level, * supported values are {@code null} and "AUDIO_ONLY". * @return Google_TimelineItem Updated timeline item on success, * null otherwise. */ function updateTimelineItem($service, $itemId, $newText, $newNotificationLevel) { try { $timelineItem = $service->timeline->get($itemId); $timelineItem->setText($newText); if ($notificationlevel != null) { $notification = new Google_NotificationConfig(); $notification->setLevel($newNotificationLevel); $timelineItem->setNotification($notification); } else { $timelineItem->setNotification(null); } return $service->timeline->update($itemId, $timelineItem); } catch (Exception $e) { print 'An error occurred: ' . $e->getMessage(); return null; } }
Python
משתמש בספריית הלקוח של Python.
import io from apiclient import errors from apiclient.http import MediaIoBaseUpload # ... def update_timeline_item(service, item_id, new_text, new_notification_level=None): """Update a timeline item in the user's Glass. Args: service: Authorized Mirror service. item_id: ID of the timeline item to update. new_text: Timeline item's text (can be HTML content). new_content_type: Optional attachment's content type (supported content types are 'image/*', 'video/*' and 'audio/*'). new_attachment: Optional attachment as data string. new_notification_level: Optional notification level, supported values are None and 'AUDIO_ONLY'. Returns: Updated timeline item on success, None otherwise. """ try: # First retrieve the timeline item from the API. timeline_item = service.timeline().get(id=item_id).execute() # Update the timeline item's metadata. timeline_item['text'] = new_text if new_notification_level: timeline_item['notification'] = {'level': new_notification_level} elif 'notification' in timeline_item: timeline_item.pop('notification') return service.timeline().update(id=item_id, body=timeline_item).execute() except errors.HttpError, error: print 'An error occurred: %s' % error return None
Ruby
משתמש בספריית הלקוח של Ruby.
## # Update a timeline item in the user's glass. # # @param [Google::APIClient] client # Authorized client instance. # @param [String] item_id # ID of the timeline item to update. # @param [String] new_text # Timeline item's new text. # @param [String] new_notification_level # Optional new notification level, supported values are nil and 'AUDIO_ONLY'. # @return [Google::APIClient::Schema::Mirror::V1::TimelineItem] # Updated timeline item instance if successful, nil otherwise. def update_timeline_item(client, item_id, new_text, new_notification_level) mirror = client.discovered_api('mirror', 'v1') result = client.execute( :api_method => mirror.timeline.get, :parameters => { 'id' => item_id }) if result.success? timeline_item = result.data timeline_item.text = new_text if new_notification_level timeline_item.notification = { 'level' => new_notification_level } else timeline_item.notification = nil end result = client.execute( :api_method => mirror.timeline.update, :body_object => timeline_item, :parameters => { 'id' => item_id }) if result.success? return result.data end end puts "An error occurred: #{result.data['error']['message']}" end
Go
משתמש בספריית הלקוח של Go.
import ( "code.google.com/p/google-api-go-client/mirror/v1" "fmt" ) // UpdateTimelineItem updates a timeline item in the user's timeline with an // optional notification and attachment. func UpdateTimelineItem(g *mirror.Service, itemId string, newNotificationLevel string) ( *mirror.TimelineItem, error) { t, err := g.Timeline.Get(itemId).Do() if err != nil { fmt.Printf("An error occurred: %v\n", err) return nil, err } t.Text = newText if newNotificationLevel != "" { t.Notification = &mirror.NotificationConfig{Level: newNotificationLevel} } else { t.Notification = nil } r, err := g.Timeline.Update(itemId, t).Do() if err != nil { fmt.Printf("An error occurred: %v\n", err) return nil, err } return r, nil }
HTTP גולמי
לא נעשה שימוש בספריית לקוח.
PUT /mirror/v1/timeline/timeline item id HTTP/1.1 Host: www.googleapis.com Authorization: Bearer auth token Content-Type: application/json Content-Length: 26 { "text": "Hello world" }