認証が必要です
アイテム ID と添付ファイル ID を使用して、タイムライン アイテムの添付ファイルを取得します。 例を見る。
リクエスト
HTTP リクエスト
GET https://www.googleapis.com/mirror/v1/timeline/itemId/attachments/attachmentId
パラメータ
パラメータ名 | 値 | 説明 |
---|---|---|
パスパラメータ | ||
attachmentId |
string |
アタッチメントの ID。 |
itemId |
string |
添付ファイルが属するタイムライン アイテムの ID。 |
承認
このリクエストは、次のスコープでの承認が必要です(認証と承認の詳細をご確認ください)。
スコープ |
---|
https://www.googleapis.com/auth/glass.timeline |
リクエスト本文
このメソッドをリクエストの本文に含めないでください。
レスポンス
成功すると、このメソッドはレスポンスの本文で Timeline.attachments リソースを返します。
例
注: このメソッドで使用可能なコード例では、サポートされているプログラミング言語すべての例を示しているわけではありません(サポートされている言語の一覧については、クライアント ライブラリ ページをご覧ください)。
Java
Java クライアント ライブラリを使用します。
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; } } // ... }
.NET
.NET クライアント ライブラリを使用します。
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; } }
Python
Python クライアント ライブラリを使用します。
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
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