نیاز به مجوز دارد
یک پیوست را در یک آیتم جدول زمانی بر اساس شناسه مورد و شناسه پیوست بازیابی می کند. یک نمونه را ببینید .
درخواست کنید
درخواست HTTP
GET https://www.googleapis.com/mirror/v1/timeline/itemId/attachments/attachmentId
پارامترها
نام پارامتر | ارزش | توضیحات |
---|---|---|
پارامترهای مسیر | ||
attachmentId | string | شناسه پیوست. |
itemId | string | شناسه مورد خط زمانی که پیوست به آن تعلق دارد. |
مجوز
این درخواست به مجوز با محدوده زیر نیاز دارد ( در مورد احراز هویت و مجوز بیشتر بخوانید ).
دامنه |
---|
https://www.googleapis.com/auth/glass.timeline |
درخواست بدن
با این روش بدنه درخواستی ارائه نکنید.
پاسخ
در صورت موفقیت آمیز بودن، این روش یک منبع Timeline.attachments را در بدنه پاسخ برمی گرداند.
نمونه ها
توجه: نمونههای کد موجود برای این روش همه زبانهای برنامهنویسی پشتیبانیشده را نشان نمیدهند (برای فهرست زبانهای پشتیبانیشده به صفحه کتابخانههای سرویس گیرنده مراجعه کنید).
جاوا
از کتابخانه سرویس گیرنده جاوا استفاده می کند.
import com.google.api.client.http.GenericUrl; import com.google.api.client.http.HttpResponse; import com.google.api.services.mirror.Mirror; import com.google.api.services.mirror.model.Attachment; import java.io.IOException; import java.io.InputStream; public class MyClass { // ... /** * Print an attachment's metadata. * * @param service Authorized Mirror service. * @param itemId ID of the timeline item the attachment belongs to. * @param attachmentId ID of the attachment to print metadata for. */ public static void printAttachmentMetadata(Mirror service, String itemId, String attachmentId) { try { Attachment attachment = service.timeline().attachments().get(itemId, attachmentId).execute(); System.out.println("Attachment content type: " + attachment.getContentType()); System.out.println("Attachment content URL: " + attachment.getContentUrl()); } catch (IOException e) { System.out.println("An error occured: " + e); } } /** * Download a timeline items's attachment. * * @param service Authorized Mirror service. * @param itemId ID of the timeline item to download the attachment for. * @param attachment Attachment to download content for. * @return The attachment content on success, {@code null} otherwise. */ public static InputStream downloadAttachment(Mirror service, String itemId, Attachment attachment) { try { HttpResponse resp = service.getRequestFactory().buildGetRequest(new GenericUrl(attachment.getContentUrl())) .execute(); return resp.getContent(); } catch (IOException e) { // An error occurred. e.printStackTrace(); return null; } } // ... }
دات نت
از کتابخانه کلاینت دات نت استفاده می کند.
using System; using Google.Apis.Mirror.v1; using Google.Apis.Mirror.v1.Data; using System.Net; using System.IO; public class MyClass { // ... /// <summary> /// Print an attachment's metadata. /// </summary> /// <param name="service">Authorized Mirror service.</param> /// <param name="itemId">ID of the timeline item the attachment belongs to.</param> /// <param name="attachmentId">ID of the attachment to print metadata for.</param> public static void PrintAttachmentMetadata( MirrorService service, String itemId, String attachmentId) { try { Attachment attachment = service.Timeline.Attachments.Get(itemId, attachmentId).Fetch(); Console.WriteLine("Attachment content type: " + attachment.ContentType); Console.WriteLine("Attachment content URL: " + attachment.ContentUrl); } catch (Exception e) { Console.WriteLine("An error occurred: " + e.Message); } } /// <summary> /// Download a timeline items's attachment. /// </summary> /// <param name="service">Authorized Mirror service.</param> /// <param name="attachment">Attachment to download content for.</param> /// <returns>Attachment's content if successful, null otherwise.</returns> public static System.IO.Stream DownloadAttachment( MirrorService service, Attachment attachment) { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create( new Uri(attachment.ContentUrl)); service.Authenticator.ApplyAuthenticationToRequest(request); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { return response.GetResponseStream(); } else { Console.WriteLine( "An error occurred: " + response.StatusDescription); return null; } } catch (Exception e) { Console.WriteLine("An error occurred: " + e.Message); return null; } } // ... }
PHP
از کتابخانه مشتری PHP استفاده می کند.
/** * Print an attachment's metadata. * * @param Google_MirrorService $service Authorized Mirror service. * @param string $itemId ID of the timeline item the attachment belongs to. * @param string $attachmentId ID of the attachment to print metadata for. */ function printAttachmentMetadata($service, $itemId, $attachmentId) { try { $attachment = $service->timeline_attachments->get($itemId, $attachmentId); print "Attachment content type: " . $attachment->getContentType() . "\n"; print "Attachment content URL: " . $attachment->getContentUrl() . "\n"; } catch (Exception $e) { print "An error occurred: " . $e->getMessage(); } } /** * Download an attachment's content. * * @param string $timelineId ID of the timeline item the attachment belongs to. * @param Google_Attachment $attachment Attachment's metadata. * @return string The attachment's content if successful, null otherwise. */ function downloadAttachment($itemId, $attachment) { $request = new Google_HttpRequest( $attachment->getContentUrl(), 'GET', null, null); $httpRequest = Google_Client::$io->authenticatedRequest($request); if ($httpRequest->getResponseHttpCode() == 200) { return $httpRequest->getResponseBody(); } else { // An error occurred. return null; } }
پایتون
از کتابخانه کلاینت پایتون استفاده می کند.
from apiclient import errors # ... def print_attachment_metadata(service, item_id, attachment_id): """Print an attachment's metadata Args: service: Authorized Mirror service. item_id: ID of the timeline item the attachment belongs to. attachment_id: ID of the attachment to print metadata for. """ try: attachment = service.timeline().attachments().get( itemId=item_id, attachmentId=attachment_id).execute() print 'Attachment content type: %s' % attachment['contentType'] print 'Attachment content URL: %s' % attachment['contentUrl'] except errors.HttpError, error: print 'An error occurred: %s' % error def download_attachment(service, attachment): """Download an attachment's content Args: service: Authorized Mirror service. attachment: Attachment's metadata. Returns: Attachment's content if successful, None otherwise. """ resp, content = service._http.request(attachment['contentUrl']) if resp.status == 200: return content else: print 'An error occurred: %s' % resp return None
روبی
از کتابخانه کلاینت Ruby استفاده می کند.
## # Print an attachment's metadata. # # @param [Google::APIClient] client # Authorized client instance. # @param [String] item_id # ID of the timeline item the attachment belongs to. # @param [String] attachment_id # ID of the attachment to print metadata for. # @return nil def print_attachment_metadata(client, item_id, attachment_id) mirror = client.discovered_api('mirror', 'v1') result = client.execute( :api_method => mirror.timeline.attachments.get, :parameters => { 'itemId' => item_id, 'attachmentId' => attachment_id}) if result.success? attachment = result.data puts "Attachment content type: #{attachment.content_type}" puts "Attachment content url: #{attachment.content_url}" else puts "An error occurred: #{result.data['error']['message']}" end end ## # Download an attachment's content # # @param [Google::APIClient] client # Authorized client instance # @param [Google::APIClient::Schema::Mirror::V1::Attachment] # Attachment instance # @return # Attachment's content if successful, nil otherwise def download_attachment(client, attachment) result = client.execute(:uri => attachment.content_url) if result.success? return result.body else puts "An error occurred: #{result.data['error']['message']}" end end
HTTP خام
از کتابخانه مشتری استفاده نمی کند.
GET /mirror/v1/timeline/timeline item id/attachments/attachment id HTTP/1.1 Host: www.googleapis.com Authorization: Bearer auth token