2016-03-03 39 views
7

Sto recuperando un elenco di file in una cartella. La risposta contiene iconLink per ogni file restituito. Questa icona è 16x16 pixel.Retina iconLink con API Google Drive

Qualcuno sa un modo per recuperare un'immagine di retina? O un altro modo per recuperare un'immagine icona più grande?

https://developers.google.com/drive/v2/reference/files

top: Google Drive UI

fondo: Google Drive integrazione API

Example

+0

Cosa hai fatto fino ad ora? In ogni file restituito, hai provato a ridimensionare l'immagine dell'icona in un'icona più grande? –

+0

L'URL dell'icona restituita porta a un'immagine di 16x16 pixel. (ad es. https://ssl.gstatic.com/docs/doclist/images/icon_12_pdf_list.png). Ho provato ad aggiungere @ 2x per vedere se questo è disponibile, ma finora non ho avuto fortuna –

+0

Hai trovato una soluzione per questo? –

risposta

3

La buona notizia è, anche se il driver non officailly documentato ha risoluzione 2x icone. La cattiva notizia è che hanno nomi di file incoerenti; ad esempio, l'icona si è collegato nei commenti ha una versione 32px availabel qui: ssl.gstatic.com/docs/doclist/images/mediatype/icon_3_pdf_x32.png

Ora qui è la mia soltion, non è perfetto, ma farà il lavoro per un po ':

function getIcons($file_type) 
{ 
    $icons = [ 
     'pdf' => [ 
      'icon' => 'icon_12_pdf_list.png', 
      'retina' => 'icon_3_pdf_x32.png' 
     ], 
     'document' => [ 
      'icon' => 'icon_1_document_x16.png', 
      'retina' => 'icon_1_document_x32.png' 
     ], 
     'image' => [ 
      'icon' => 'con_1_image_x16.png', 
      'retina' => 'icon_1_image_x32.png' 
     ], 
     'word' => [ 
      'icon' => 'icon_1_word_x16.png', 
      'retina' => 'icon_1_word_x32.png' 
     ], 
     'text' => [ 
      'icon' => 'icon_1_text_x16.png', 
      'retina' => 'icon_1_text_x32.png' 
     ], 
     'spreadsheet' => [ 
      'icon' => 'icon_1_spreadsheet_x16.png', 
      'retina' => 'icon_1_spreadsheet_x32.png' 
     ], 
     'form' => [ 
      'icon' => 'icon_2_form_x16.png', 
      'retina' => 'icon_2_form_x32.png' 
     ], 
     'audio' => [ 
      'icon' => 'icon_1_audio_x16.png', 
      'retina' => 'icon_1_audio_x32.png' 
     ] 
    ]; 

    return isset($icons[$file_type]) ? $icons[$file_type] : $icons['text']; 
} 

Il reasion I dire che funzionerà per un po 'è che sto prendendo in asso il _3_ nel nome del file icona pdf per esempio è il numero di versione. Quindi, se Google aggiorna nuovamente le sue icone in futuro, questa soluzione potrebbe frenare.

0

Sembra che le immagini con x128 anche aggiunto/regalo per varie versioni:

Ver. 1

Ver. 2

Ver. 3

meglio sostituire il x16 dal inverosimile iconLink e sostituirlo con x128 .