2019-08-27 (火)
Google Drive上の画像を他のサイト上のJavaScriptから読み込むとき,alt=media
を指定してロードするとAuthorizationヘッダにaccess_tokenを入れる必要があったりして少し手間だったり,リクエストヘッダいじるために画像を読んでる箇所に手を入れないといけなかったりで微妙.
面倒だなと思ってたのだけど,サムネイル画像のレスポンスヘッダを見てたら,access-control-allow-origin: *
になっててスクリプトから内容にアクセスができるのに気づいた.一度URLさえ取得すれば期限内であれば認証無しでアクセスできるっぽいな.
thumbnailLinkのURLにs220
みたいなそれらしい文字列が埋め込まれてるので,おもむろに書き換えると好きなサイズで取得できる.ただ,ファイル情報取得時にサムネイルのサイズを指定するパラメータとかなさそうだし,行儀の良い方法は良くわからない.
export=view
のURLはIMGタグとかで直接読めるけど,access-control-allow-originヘッダが付かないので画像の内容にスクリプトからアクセスできなかったり,同じサムネイル画像でもDocsのドキュメントのサムネイル取得時はcontrol-allow-origin
ヘッダが付かなかったりしてちょっとポリシーがよくわからない.
追記:Docsのファイルはサムネイルも認証必要で crossOrigin = "anonymous" だとアクセスできないのが原因だった.どっちにしろアクセスできないのは変わらず.