使用者使用 Picker API 選取媒體項目後,您就可以擷取相關資訊並存取內容。本指南將概略說明列出及擷取媒體項目的程序。
事前準備
- 瞭解流程:請參閱「使用 Picker API 入門」,瞭解整個相片選擇流程。
- 完成媒體項目選取:確認使用者已成功從工作階段中選取媒體項目。詳情請參閱工作階段指南。
- 查看必要的授權範圍:處理工作階段需要
photospicker.mediaitems.readonly
範圍。如要進一步瞭解範圍,請參閱授權範圍。
列出挑選的媒體項目
使用
mediaItems.list
端點:向 https://photospicker.googleapis.com/v1/mediaItems 發出 GET 要求,提供sessionId
做為查詢參數。處理分頁 (如有需要):
如果使用者選取大量項目,回應可能會分頁顯示。使用回應中的
nextPageToken
擷取後續頁面的結果。處理媒體項目:回應會包含
PickedMediaItem
物件陣列,每個物件都代表一個所選媒體項目。這些物件包含以下重要詳細資料:id
:媒體項目的專屬 ID。baseUrl
:這個基準網址可用來建構網址,以不同的解析度存取媒體項目的內容。mimeType
:媒體項目的 MIME 類型 (例如 image/jpeg、video/mp4)。
擷取所選媒體項目
請確認您具備具有 https://www.googleapis.com/auth/photospicker.mediaitems.readonly
範圍的有效 OAuth 2.0 存取權杖,以便授權要求。
建構內容網址:使用
PickedMediaItem
物件的baseUrl
。請將解析度或檔案格式附加至 baseUrl。詳情請參閱「基本網址」一節。擷取內容:對媒體項目的基本網址提出 GET 要求。回應會包含媒體項目 (圖片或影片) 的位元組。您可以使用多種不同的 baseURL 選項。
基礎網址
Google 相簿 API 中的基本網址可提供媒體項目的原始位元組存取權,讓應用程式下載或顯示這些項目。列出專輯 (Library API) 或存取媒體項目 (Library 和 Picker API) 時,這些網址會包含在回應中。請注意,基礎網址需要額外參數才能正常運作。
Picker API:
所有 PickedMediaItem.mediaFile
物件都包含 baseUrl
。
基本網址會保持有效 60 分鐘,但如果使用者透過 Google 帳戶設定撤銷應用程式的權限,則可能會提早失效。
Library API:
基本網址會在 60 分鐘內維持有效狀態。
常見的網址如下:
baseUrl
:直接存取相片、影片縮圖或下載影片位元組。coverPhotoBaseUrl
:直接存取相簿的封面相片。profilePictureBaseUrl
:直接存取mediaItem
擁有者的個人資料相片。
映像檔基本網址
以下是可與映像檔基本網址搭配使用的選項清單:
參數 | |
---|---|
w 、h |
說明 寬度 如要存取圖片媒體項目 (例如影片的相片或縮圖),您必須指定想要在應用程式中顯示的尺寸 (這樣圖片可以縮放為這些尺寸,同時保留長寬比)。將基準網址與你所需的維度串連,如範例所示。 例如: base-url=wmax-width-hmax-height 以下範例說明如何顯示寬度不超過 2048 像素、高度不超過 1024 像素的媒體項目: https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024 |
c |
說明 裁剪, 如要將圖片裁剪為您指定的確切寬度和高度,請將基準網址與選用的 大小 (以像素為單位) 應介於 [1, 16383] 之間。如果圖片的寬度或高度超過要求的大小,圖片就會縮小並裁剪 (維持顯示比例)。 例如: base-url=wmax-width-hmax-height-c 在此範例中,應用程式會顯示大小剛好為 256 px x 256 px 的媒體項目,例如縮圖: https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c |
d |
說明 下載的 如要下載保留所有 Exif 中繼資料的圖片 (位置中繼資料除外),請使用 例如: base-url=d 在這個範例中,應用程式會下載含有所有中繼資料的圖片,但不含位置中繼資料: https://lh3.googleusercontent.com/p/Az....XabC=d |
影片基準網址
以下是可搭配影片基本網址使用的選項清單:
參數 | |
---|---|
dv |
說明 如要存取影片 dv 參數會要求原始影片的高畫質轉碼版本。這個參數與 w 和 h 參數不相容。 影片下載的基本網址可能需要幾秒鐘的時間才能傳回位元組。 使用這個參數前,請確認媒體項目的 例如: base-url=dv 以下範例說明如何下載影片的位元組: https://lh3.googleusercontent.com/p/AF....BsdZ=dv |
w 、h 、c 和 d |
說明 如要存取影片縮圖,請使用任一圖片基本網址參數。 根據預設,所有影片縮圖都會附上播放按鈕的疊加層。如要移除這項疊加層,請參閱 -no 參數。 例如: 如需範例,請參閱圖片基本網址表格。 |
no |
說明 移除縮圖覆蓋圖片, 如要在不使用播放按鈕的重疊元素的情況下擷取影片縮圖,請使用 no 參數串連基本網址。 no 參數必須與至少一個圖片基本網址參數搭配使用。 例如: base-url=wmax-width-hmax-height-no 以下範例顯示的影片縮圖寬度和高度分別為 1280 像素和 720 像素,且不含播放按鈕疊加: https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no |
動態相片基本網址
動態相片同時包含相片和影片元素。您可以使用 圖片基本網址或影片基本網址中的參數,用於動態相片 baseUrl
要求。
參數 | |
---|---|
dv |
說明 如要擷取動態相片媒體項目的影片元素,請使用 |
w 、h 、c 和 d |
說明 如要擷取動態相片媒體項目的圖片元素,請使用圖片基礎網址的格式。 |