blog.rinsuki.net

Google Drive File Stream 内のファイルIDを取る

投稿: 2020/05/17 09:23:48

タグ: memoGoogleDriveGoogleDriveFileStream

Google Drive File Stream でマウントされるファイルに対して xattr -p user.drive.ほげふが /Volumes/GoogleDrive/path/to/file をすると、Google Drive上のファイルIDが取れたりする。

まあ要はstackoverflowのこれ https://stackoverflow.com/q/51439810 なんだけど、これは実は Google Colaboratory https://colab.research.google.com でも使える。

ただし、Google Colabolatory 環境には xattr コマンドが入っていないので、apt install xattr で入れる必要がある。
入れてしまえさえすればMac環境と同じように見える。

で、例えば Web で開かせたい時には echo https://drive.google.com/file/d/$(xattr -p user.drive.id /path/to/file)/view とかやればよい。

ちなみにプロパティ一覧は GDFS のバイナリをstringsしてuser.drive.でgrepをかけると出てくる。xattrで一覧を出そうとしても出てこないっぽいので注意。

参考までに手元の環境↓

$ strings /Applications/Google\ Drive\ File\ Stream.app/Contents/MacOS/Google\ Drive\ File\ Stream | grep user.drive
user.drive.gdoc
user.drive.id
user.drive.email
user.drive.team_drive_id
user.drive.pinned
user.drive.can_manage_team_drive_members
user.drive.mime_type
user.drive.thumbnail
user.drive.
user.drive.md5
user.drive.uncommitted
user.drive.itemprotostr
user.drive.is_virtual_folder
user.drive.progress
user.drive.shortcut.target.stableid
user.drive.stableid

例えば user.drive.uncomitted はアップロードが完了してないと 1 、アップロードが完了すると 0 が返ったりする。

便利。