Boxのスマホアプリである、Box Captureで写真をBoxにアップロードしたあと、位置情報を取り出すことができたので、その手順をメモ。
TL;DR
Box Captureでアップロードした写真のメタデータは、templateKey:'boxCaptureV1', scope: 'global'
で取り出せる。
事前準備
Box Captureで、位置情報をBoxにアップロードさせるには、スマホアプリのBox Captureの設定を開き、「場所メタデータの保存」をONにする
Boxにアップロードして確認
Box Captureから、Boxに写真を撮ってアップロードしてみると、メタデータに位置情報が入っているのが見える。
これをとりだしたい。
それっぽいメタデータテンプレートを探す
globalのメタデータテンプレートを取り出してみると、こんな感じのやつがみつかった。
これっぽい。
const templates = await client.metadata.getTemplates(
client.metadata.scopes.GLOBAL
);
console.log(templates);
/*
[
{
id: '17816951-704b-4d55-ae1e-f8f1bd8078ba',
type: 'metadata_template',
templateKey: 'boxCaptureV1',
scope: 'global',
displayName: 'Box Capture',
hidden: false,
copyInstanceOnItemCopy: false,
fields: [Array]
},
]
*/
ファイルからメタデータテンプレートを指定して情報を取り出す
"boxCaptureV1"をキーにして探すと、location情報を含む、メタデータが取得できた。
const metadata = await client.files.getMetadata(
FILEID,
client.metadata.scopes.GLOBAL,
"boxCaptureV1"
);
console.log(metadata);
/*
{
colorSpace: '',
camera: 'Apple',
location: '35.6XXXXXXXXXX334 N, 139.7XXXXXXXXXX67 E',
exposure: 'Mode: Auto, Program: Program Normal, Time: 0.017 sec, FNumber: 1.8',
flash: 'Off',
captureTimestamp: '2020-06-16 05:58',
resolution: '4032 x 3024',
lens: 'iPhone XR back camera 4.25mm f/1.8',
'$type': 'boxCaptureV1-6ee0a197-59b4-41da-8683-7d89c11e62be',
'$parent': 'file_679265666593',
'$id': '3e99db55-1762-42d7-a30b-d2fbf2cf3e58',
'$version': 0,
'$typeVersion': 6,
'$template': 'boxCaptureV1',
'$scope': 'global',
'$canEdit': true
}
*/