Google フォトのエクスポートで日付と JSON を直す方法(Mac)
Google フォトを Mac にエクスポートすると日付がダウンロード日になり、JSON ファイルが並びます。Mac で Takeout を解凍し、JSON の撮影日時を写真に戻して「写真」アプリに入れる手順です。
Google フォトを Mac にエクスポートすると、多くの写真の本当の撮影日時は写真の中ではなく、横の .json ファイルに入っています。Mac の Finder や「写真」アプリは .json を読まないので、ダウンロードした日が表示されます。直すには、.json の日付を写真の EXIF に書き込んでから「写真」アプリに読み込みます。
この記事は Mac での手順です。Windows での手順は Windows で Google Takeout の写真の日付を直す手順 にあります。
1. Google フォトを Takeout で書き出す
Google フォトのライブラリを丸ごと書き出せるのは Google Takeout(takeout.google.com)です。「選択をすべて解除」を押してから「Google フォト」だけにチェックを入れ、zip 形式でエクスポートを作成します。詳しい設定は Google フォトを Takeout で書き出すいちばん良い方法 で説明しています。
ブラウザの photos.google.com で写真を選んでダウンロードする方法もあります。この場合は .json が付かず、写真の中に撮影日時がない写真は、日付を取り戻す手がかりがありません。ライブラリ全体を移すなら Takeout を使ってください。
2. Mac で zip を解凍する
Takeout は大きなライブラリを複数の zip に分けます。すべてを同じフォルダーにダウンロードし、同じフォルダーに解凍してください。写真とその .json が別々の zip に入っていることがあるからです。
Safari は初期設定で、ダウンロードした zip を自動で解凍することがあります。「Safari」→「設定」→「一般」の「ダウンロード後、"安全な"ファイルを開く」をオフにすると、zip のまま保存されます。解凍の詳しい方法は Google Takeout の zip が複数に分かれるのはなぜ? にあります。
3. Finder で日付と JSON を確認する
解凍した Takeout/Google フォト(英語の画面では Google Photos)フォルダーを開くと、写真の横に IMG_1234.HEIC.supplemental-metadata.json のようなファイルが並んでいます。古いエクスポートでは IMG_1234.HEIC.json です。
Finder の「作成日」や「変更日」は、ダウンロードや解凍をした時刻です。本当の撮影日時を見るには、.json をテキストエディットで開き、photoTakenTime の項目を探します。timestamp の数字が撮影日時で、1970 年からの秒数(UTC)です。.json の中身の意味は JSON ファイルの開き方:Google フォトの JSON の中身 で説明しています。
写真の中に撮影日時が残っているかは、Finder で写真を選んで「情報を見る」を開き、「その他の情報」を見ると分かります。カメラで撮った写真には残っていることが多く、スクリーンショット、LINE などで受け取った画像、Google フォトの中で日付を直した写真では .json にしか正しい日付がありません。
4. JSON の日付を写真に書き込む
ターミナルで:exiftool
exiftool は無料のコマンドラインツールで、Mac では exiftool.org のパッケージか、Homebrew の brew install exiftool で入ります。基本のコマンドは次のとおりです。
exiftool -r -d %s -tagsfromfile "%d/%F.supplemental-metadata.json" "-DateTimeOriginal<PhotoTakenTimeTimestamp" "-FileCreateDate<PhotoTakenTimeTimestamp" "-FileModifyDate<PhotoTakenTimeTimestamp" -overwrite_original "Takeout"
ただし、Google は長い .json の名前を途中で切り詰め、(1) の付く位置も写真と .json で違います。このコマンドだけでは拾えない写真が残ります。動画には別のタグが必要です。注意点は exiftool で Google Takeout の日付を直す方法 にまとめました。
アプリで:コマンドなし
ターミナルを使いたくないなら、Mac 版の Takeout JSON Metadata Fixer が同じことを画面の操作で行います。Takeout の zip か解凍したフォルダーをドロップすると、切り詰められた名前や (1) の重複も含めて写真と .json を突き合わせ、撮影日時、GPS、説明文を写真に書き込み、ファイルの日付も合わせます。HEIC を JPG に変換したり、年/月フォルダーに整理したりもできます。オフラインで動き、画面は日本語です。最初の 500 枚は無料、その後は 19.99 米ドルの買い切りです。
5. Mac の「写真」アプリに読み込む
日付を書き込んだあとで、「写真」アプリの「ファイル」→「読み込む」からフォルダーを選びます。写真は本来の撮影日の位置に並びます。先に読み込んでしまった場合は、読み込んだ写真をいったん削除し、日付を直したファイルを読み込み直すのが確実です。iCloud 写真を使っていれば、iPhone にも正しい日付で同期されます。移行全体の流れは Google フォトから iCloud 写真へ移行して撮影日を保つには? にあります。
よくある質問
Google フォトの書き出しと Takeout は同じですか?
Google フォトのライブラリを一括で書き出す方法は Takeout です。photos.google.com で選んだ写真をダウンロードする方法もありますが、.json が付かず、大量の写真には向きません。
Google フォトを一括ダウンロードすると必ず JSON が付きますか?
Takeout で書き出した場合は、ほとんどの写真に .json が付きます。ブラウザでダウンロードした場合は付きません。一括ダウンロードの方法の比較は Google フォトを一括ダウンロードする方法 にあります。
JSON ファイルは削除してもいいですか?
日付と位置情報を写真に書き込んで確認したあとなら削除して構いません。先に削除すると、その日付は失われます。
Mac で写真を 1 枚ずつ日付修正したいときは?
「写真」アプリの「日付と時刻を調整」か、Epictetus LLC が開発中の Photo Date & Metadata Editor(Mac App Store で近日公開)を使います。手順は 写真の撮影日時を変更・一括で直す方法(Mac) にあります。