2016-03-03 26 views
7

Ich erhalte eine Liste von Dateien in einem Ordner. Die Antwort enthält eine iconLink für jede zurückgegebene Datei. Dieses Symbol ist 16x16 Pixel.Retina IconLink mit Google Drive API

Kennt jemand eine Möglichkeit, ein Retina-Bild zu erhalten? Oder eine andere Möglichkeit, ein größeres Symbolbild abzurufen?

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

oben: Google Drive UI

unten: Google Drive API Integration

Example

+0

Was hast du bisher gemacht? Haben Sie in jeder zurückgegebenen Datei versucht, das Symbolbild in einem größeren Symbol zu vergrößern? –

+0

Die zurückgegebene Icon-URL führt zu einem 16x16-Pixel-Bild. (zB https://ssl.gstatic.com/docs/doclist/images/icon_12_pdf_list.png). Ich habe versucht, @ 2x hinzuzufügen, um zu sehen, ob das verfügbar ist, aber bisher kein Glück –

+0

Haben Sie eine Lösung dafür gefunden? –

Antwort

3

Die gute Nachricht ist, wenn auch nicht officailly dokumentiert Treiber 2x Auflösung hat Symbole. Die schlechte Nachricht ist, dass sie inkonsistente Dateinamen haben; zum Beispiel availabel hier eine 32px-Version hat das Symbol, das Sie in den Kommentaren verknüpft: ssl.gstatic.com/docs/doclist/images/mediatype/icon_3_pdf_x32.png

Hier ist meine soltion, es ist nicht perfekt, aber es wird die Arbeit für eine Weile tun:

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']; 
} 

Die reasion I sagen, dass es für eine Weile funktioniert ist, dass ich die _3_ in PDF-Icon-Dateiname zum Beispiel ist die Versionsnummer. Wenn Google die Symbole in Zukunft erneut aktualisiert, kann diese Lösung möglicherweise kaputt gehen.

0

Sieht aus wie Bilder mit x128 auch hinzugefügt/present für verschiedene Versionen:

Ver. 1

Ver. 2

Ver. 3

besser die x16 aus dem geholten iconLink zu ersetzen und ersetzen sie durch x128 .