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
最好将取出的iconLink
的x16
替换为x128
。
上一篇: Retina iconLink with Google Drive API
下一篇: How do I refresh React state after running navigator.pop()?