Retina iconLink与Google Drive API

我正在获取文件夹中的文件列表。 响应包含返回的每个文件的iconLink 。 这个图标是16x16像素。

有没有人知道一种方式来检索视网膜图像? 或者另一种方式来检索更大的图标图像?

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

顶部 :Google Drive用户界面

底部 :Google Drive API集成

例


好消息是,虽然没有文件记录的驱动程序确实有2个分辨率图标。 坏消息是他们有不一致的文件名; 例如,您在注释中链接的图标具有32像素版本availabel:ssl.gstatic.com/docs/doclist/images/mediatype/icon_3_pdf_x32.png

现在这里是我的解答,这不是完美的,但它会做一段时间的工作:

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

我说它会起作用的一段时间是,我认为_3_在pdf图标文件名称例如是版本号。 所以如果Google今后再次更新它的图标,这个解决方案可能会制动。


看起来像x128的图像也为各种版本添加/呈现:

版本。 1

版本。 2

版本。 3

最好将取出的iconLinkx16替换为x128

链接地址: http://www.djcxy.com/p/32497.html

上一篇: Retina iconLink with Google Drive API

下一篇: How do I refresh React state after running navigator.pop()?