アマゾンフォトから全部の1万枚ちかくの写真を完全に削除するお手軽な方法

アマゾンフォト(Amazon Photos)はAmazon社から出ているGoogle Photosと双璧をなす写真ストレージアプリです。特にAmazonプライム会員だと容量無制限なのでついつい写真を保存してしまい、気が付いたら1万を超えているなんてことになります。東京に住んでいる限り、長い間お世話になることは確定していたので辞めるなんて思ってもいませんでした。ところが海外に行くことになり、日本のAmazonプライム会員だとほとんど意味がないということが分かりました。ただ消すとなると、腱鞘炎及び発狂レベルの単純作業の繰り返しになってしまったので、ここに簡単に削除をサポートできる方法を書き残しておきます。

amazon photos

Amazon Photosは素晴らしい

プライム会員でないと割高なイメージはありますが、Amazon Photosはプライムビデオやプライムミュージックなどのサービスが含まれるオールインワンパッケージとしてのAmazonプライム会員の一角を成す便利なサービスです。

  1. まずは容量無制限。スマートフォンのストレージは安くなってきたとはいえ、まだまだ高価。これはありがたい。いくらでも写真を撮れます。
  2. アカウントさえ繋がればどこからでもアクセス可能。
  3. 家族と簡単に共有できる。

私が利用を決めたのは、Googleフォトに何かあったとき用のバックアップになることと、Amazonプライム解約なんてそもそもないだろうという2点が理由です。Googleはご存知の通り、Googleが不要なサービスと判断したものはばっさりと切り落としてしまいます。その仕打ちに涙を飲んだ方も多いかと思います。。。そして意外とすごい失敗を時々してしまうこと。。。その点、AmazonはAWS(Amazon Web Services)の運用で培ってきた企業ニーズを理解できるレベルにある会社です。その点はMicrosoftレベルだと思っています。AmazonとGoogleの両方に写真を預けておけば安心だろうというものです。(GAFAMのサービスを使っている時点で個人情報は・・・)

しかし、いつまでも日本にいるわけではなかったのです。 一度日本を離れると、Amazonプライムはほぼ役に立たないです。プライムビデオはAmazonオリジナルしか観れません。ちなみにミセス・マーベラス・メイゼル、これは最高です。課金してもいいから、続きが観たいです。 配達も意味がありません。使えるのはプライムミュージックくらいです。 そこで泣く泣く便利なAmazonプライムを解約することを決めました。

その時、ふと気づいたのが、Amazon Photos。 バックアップ用だけに使っていたので、忘れていました。 確認すると、解約すれば課金が必要になるレベルでした。

しかし、Amazonは優しい。 容量を超えていても、すぐに消し去るような無慈悲なことはしません。 もちろん追加のアップロードなどいくつかの機能は制限されますが、一定期間は容赦してくれます。その間に消すか、課金するかで解決すれば正常にサービスを利用できます。そして2年を超えると自動的に削除されます。 しっかりと利用規約にそう明言してくれているのはよいですね。

Amazon Photos利用規約

そうなのです。わざわざ消さずとも、そのまま置いておいても課金もされず(本当にそうかは保証しません!)、2年経ったらちゃんと消してくれるのです。とてもすごいぞ、Amazon!

でもやっぱり写真はきれいさっぱり消すことにした

ただよりも高いものはありません。 ストレージに置いてある限り、Amazonは必要に応じて、アクセスします。お客様のためです! しかし、辞めると決めたのに、そういう状態は個人的には気持ち悪いと感じました。 そこは個人個人で捉え方の違うところだと思います。 ただどうしても気になるので、手遅れとは知りつつも、解約を気に消すことに決めました。

写真の数は 10,000

思っていた以上に多かったです。

消すためには以下の作業が必要です。

  1. 写真をゴミ箱に移す。

    • 選択は日付単位で可能。
  2. ゴミ箱の写真を選択して

    • 選択は1枚, 1枚心を込めて・・・

これはAmazonさんのやさしさだとしんじています。 大切な写真をそんな簡単に完全に消すなんてことはしてはいけないのです! もしかしたらその日は気が大きくなっているかもしれないじゃないですか!

しかし、私のバックにはGoogleがいました。そこにバックアップがあります。 そして、解約となる日まで1日もありません。

私に残された道は今すぐに消すしかないのです!!!!

恋しさとせつなさと心強さと

最初の日付ごとに写真を選択するのは意外と楽しいです。懐かしいあの日、あんなことやこんなことがあったなぁと思いだしながら選んでいくのです。あの頃は若かったなぁとか、こんなこともあったなぁなんて。

ただ虚しいことは思い出が多い日の写真はたくさんあるのに、ワンクリックで全て選択できてしまうこと。

一方、記憶にも残っていない何が面白かったのかわからない風景写真や昼ご飯の写真はその日一枚しかないのにそのためにワンクリックしなければならないこと。ワンクリックの重みが違う。ワンクリック格差。一票の格差もこのようなものでしょうか。

それらを楽しく選択していき、約5,000件ずつゴミ箱に移していきます。これで個人的には達成感に浸りました。

しかし、地獄はこの後にありました。

ゴミ箱ページに移動すると、複数選択する方法が全くありません・・・。 Gmailのゴミ箱を一掃するようなUIはどこにもありません。。。 本当に一つ一つ、真心を込めて、心を強くして選んでいくしかないのです。

10枚、頑張りました。

辛いです。心はまだ強かった。

もう10枚、頑張りました。

辛いです。心は折れました。

決めました。 プログラムで対応しようと。

Amazon Photosのゴミ箱の写真をまとめて選択するプログラム

要件はシンプルです。 ゴミ箱の写真を一気に、または簡単にまとめて選択することです。

デベロッパーコンソールを眺めてみると、面白い動きをしていることが分かりました。 スクロールするごとに次の30枚程度を取っているのですが、Documentオブジェクトから見るHTML上はその新しい30枚しかないのです。もちろん画面には今までにロードしたものがありますが、Documentオブジェクトをひっかきまわしてもその30枚しかないのです。これだとGoogle画像検索のクロールのように下までスクロールさせてから一気に処理ができません。

ということで、結果的に以下のようにすることになりました。

  1. HTML上に存在する30枚をJavascriptで一気に選択する。
  2. マウスのホイールを自分で回して、次の先頭らへんに動かす
    • ありがたいことにホイール操作は適当で大丈夫です。行き過ぎてもそうではなくても適切に動きます。
  3. 上記を5,000件選択されるまで繰り返す。
    • 5,000件超えそうになったら、timerを止める。
  4. 最後に選択されたものを念のためざっと確認し、削除する。
  5. 上記の過程をゴミ箱が空になるまで繰り返す。

なおプログラムはデベロッパーコンソール上で実行させます。

完全に自己責任でお願いします。

// 新しく表示された写真を1枚ずつ心を込めて選択する関数。
function select() {
  var nodesSnapshot = document.evaluate(
    `//div[@class='selector full-selection']`,
    document,
    null,
    XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
    null
  );
  for (var j = 0; j < nodesSnapshot.snapshotLength; j++) {
    const elem = nodesSnapshot.snapshotItem(j);
    elem.click();
  }
}

// 3秒おきに繰り返します。3秒経つまでに次の写真のところまでマウスのホイールをくるくるします。
var timerId = setInterval(select, 3000);
// 事前にコピーしておくこと。5,000近くになったら実行する。
clearInterval(timerId);

これですべて無事に削除でき、心は晴れやかになりました。 今までありがとう、Amazonさん! 日本に戻ったら、よろしくお願いします!!!

Updated at: Fri Jul 10 2020

© 2020-presentTerms|Privacy