Una volta che un utente ha configurato il proprio dispositivo Ambient e selezionato le sorgenti multimediali in Google Foto, la tua applicazione può elencare e recuperare gli elementi multimediali da visualizzare.
Prima di iniziare
- Verifica la configurazione del dispositivo: assicurati di aver creato e configurato un dispositivo per l'utente.
- Comprendi il flusso dell'API Ambient: consulta il flusso dell'API Ambient per comprendere la procedura complessiva, in particolare il passaggio che prevede il polling per
mediaSourcesSet.
Sondaggio per mediaSourcesSet
Prima di poter elencare gli elementi multimediali di un dispositivo, l'utente deve aver selezionato le foto che vuole condividere con la tua applicazione all'interno dell'app Google Foto. La tua applicazione deve eseguire il polling del dispositivo per determinare quando è stata effettuata questa selezione.
Chiama periodicamente il metodo devices.get per l'deviceId specifico. Monitora il campo mediaSourcesSet nella risposta AmbientDevice. Inizialmente sarà false. Una volta che l'utente ha selezionato correttamente le origini multimediali, questo campo diventa true.
La risposta AmbientDevice include un pollingConfig con un pollInterval
da utilizzare come linea guida per la frequenza di polling.
Elenco elementi multimediali
Una volta che mediaSourcesSet è true per un dispositivo, puoi iniziare a recuperare gli elementi media selezionati dall'utente.
Utilizza l'endpoint
mediaItems.list: invia una richiesta GET ahttps://photosambient.googleapis.com/v1/mediaItems, indicandodeviceIdnel percorso.Gestisci la paginazione (se necessario): la risposta potrebbe essere suddivisa in pagine. Utilizza il parametro
pageSizeper specificare il numero massimo di elementi da restituire epageTokendi una risposta precedente per recuperare le pagine successive dei risultati.Elabora gli elementi multimediali:la risposta conterrà un array di oggetti
AmbientMediaItem, ciascuno dei quali rappresenta un elemento multimediale selezionato. Questi oggetti includono dettagli essenziali come:id: l'identificatore univoco dell'elemento multimediale.creationTime: il timestamp della creazione dell'elemento multimediale.mediaFile: un oggetto contenente i dettagli per accedere ai contenuti effettivi.
Il campo mediaFile include baseUrl. Questo baseUrl è ciò che
utilizzerai per creare gli URL per accedere ai contenuti dell'elemento multimediale in varie
risoluzioni o formati.
URL di base
Gli URL di base nelle API di Google Foto forniscono l'accesso ai byte non elaborati degli elementi multimediali, consentendo alla tua app di scaricarli o visualizzarli. Questi URL sono inclusi nelle risposte quando vengono elencati gli album (API Library) o si accede agli elementi multimediali (API Library e Picker). Ricorda che gli URL di base richiedono parametri aggiuntivi per funzionare correttamente.
Per l'API Picker:
Tutti gli oggetti PickedMediaItem.mediaFile includono un baseUrl.
Gli URL di base rimangono attivi per 60 minuti, ma possono scadere prima se l'utente revoca le autorizzazioni della tua app tramite le impostazioni del suo Account Google.
Per l'API Library:
Gli URL di base rimangono attivi per 60 minuti.
I vari URL di base sono:
baseUrl: accedi direttamente a una foto, a una miniatura di un video o scarica i dati video.coverPhotoBaseUrl: accedi direttamente alla foto di copertina dell'album.profilePictureBaseUrl: accedi direttamente alla foto del profilo del proprietario di unmediaItem.
URL di base delle immagini
Di seguito è riportato l'elenco delle opzioni che puoi utilizzare con gli URL di base delle immagini:
| Parametro | |
|---|---|
w, h |
Descrizione I parametri larghezza, Per accedere a un elemento multimediale immagine, ad esempio una foto o una miniatura per un video, devi specificare le dimensioni che prevedi di visualizzare nella tua applicazione (in modo che l'immagine possa essere ridimensionata in queste dimensioni mantenendo le proporzioni). Per farlo, concatena l'URL base con le dimensioni richieste come mostrato negli esempi. Esempi: base-url=wmax-width-hmax-height Ecco un esempio per visualizzare un elemento multimediale non più largo di 2048 px e non più alto di 1024 px: https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024 |
c |
Descrizione Il parametro di ritaglio Se vuoi ritagliare l'immagine in base alle dimensioni esatti di larghezza e altezza che hai specificato, concatena l'URL di base con il parametro facoltativo Le dimensioni (in pixel) devono essere comprese nell'intervallo [1, 16383]. Se la larghezza o l'altezza dell'immagine supera le dimensioni richieste, l'immagine viene ridotta e ritagliata (mantenendo le proporzioni). Esempi: base-url=wmax-width-hmax-height-c In questo esempio, l'applicazione mostra un elemento multimediale di esattamente 256 x 256 px, ad esempio una miniatura: https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c |
d |
Descrizione Il parametro download, Se vuoi scaricare l'immagine mantenendo tutti i metadati Exif
tranne i metadati della posizione, concatena l'URL di base con il
parammetro Esempi: base-url=d In questo esempio, l'applicazione scarica un'immagine con tutti i metadati tranne i metadati sulla posizione: https://lh3.googleusercontent.com/p/Az....XabC=d |
URL di base dei video
Di seguito è riportato l'elenco delle opzioni che puoi utilizzare con gli URL di base dei video:
| Parametro | |
|---|---|
dv |
Descrizione Per accedere ai byte di un video Il parametro dv richiede una versione transcodificata di alta qualità del video originale. Il parametro non è compatibile con i parametri w e h. Per restituire i byte, gli URL di base per i download dei video possono richiedere fino a qualche secondo. Prima di utilizzare questo parametro, controlla che il campo Esempi: base-url=dv L'esempio seguente mostra come scaricare i byte di un video: https://lh3.googleusercontent.com/p/AF....BsdZ=dv |
w, h, c e
d |
Descrizione Per accedere alla miniatura del video, utilizza uno dei parametri dell'URL di base dell'immagine. Per impostazione predefinita, tutte le miniature dei video includono un overlay di un pulsante di riproduzione. Consulta il parametro -no per rimuovere questo overlay. Esempi: Per esempi, consulta la tabella degli URL di base delle immagini. |
no |
Descrizione Il parametro Se vuoi recuperare la miniatura di un video senza l'overlay di un pulsante di riproduzione, concatena l'URL di base con il parametro no. Il parametro no deve essere utilizzato con almeno uno dei parametri URL immagine di base. Esempi: base-url=wmax-width-hmax-height-no L'esempio seguente mostra una miniatura di video di esattamente 1280 x 720 px e non include un overlay del pulsante di riproduzione: https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no |
URL di base delle foto in movimento
Le foto in movimento contengono elementi sia fotografici che video. Puoi utilizzare i parametri degli URL di base delle immagini o degli URL di base dei video per le richieste di foto in movimento baseUrl.
| Parametro | |
|---|---|
dv |
Descrizione Per recuperare l'elemento video di un elemento multimediale di una foto in movimento, utilizza il parametro |
w, h, c e
d |
Descrizione Per recuperare l'elemento foto di un elemento multimediale di foto in movimento, utilizza il formato per gli URL di base delle immagini. |
Passaggi successivi
- Applicazione di esempio: la nostra applicazione di esempio include un esempio di elencazione e recupero di elementi multimediali. Per ulteriori informazioni, consulta le funzioni
checkMediaSourcesSetefetch_media_item_list. - Documentazione di riferimento:consulta le documentazione di riferimento complete sugli elementi multimediali per informazioni dettagliate su tutti i metodi, i parametri di richiesta e risposta e i codici di errore disponibili.