filterは必須じゃないので空欄でもEXECUTE可能です。pageSizeの最大値は200ですが、pageTokenを使えば、続きのデータを取得可能です。最初に200個のデータを取得すると、最後に"nextPageToken"があるので、その文字列をpageTokenに貼り付けると次のデータを取得可能になります。
宇賀神社、すずめ地獄が2枚、通潤橋、乗用車内の5枚と最近拒否を確認した5枚、後5枚が分からない。
EXECUTEした結果は下記の様にツリーを折りたたんだ状態で全てを選択してコピーすると楽です。
テキストエディタ等にペーストすれば内容を見ることが可能です。JSONエディタ等で開くとツリー表示と切り替えて見ることが出来ます。今回は日本語対応の「J_and_E」を使ってみました。
J and EでJSONファイルをツリー表示した様子 |
9番目の後にnextPageTokenがあります。
私の場合は1,300枚ほどなので、200枚×7回で全データを得ることが出来ますが、枚数が多い人は自動化しないと面倒でしょうね。
☆JSONデータからphotoIdの値だけ抽出する方法(Windows10)
コマンドプロンプトでjqコマンドを使うと簡単に抽出出来ます。
※jq-win64.exeをjq.exeにファイル名を変えて使ってます。
c:\>type file.json | jq .photos[].photoId.id > photoId.txt
jqに-rを付けるとダブルクォーテーション無しになります。
c:\>type file.json | jq -r .photos[].photoId.id > photoId.txt
閲覧数のみは下記で抽出可能です。
c:\>type photolist.json | jq -r .photos[].viewCount > view_count.txt
typeコマンドをパイプ「|」でつないで、リダイレクト「>」でファイルに書き込みます。
これでphotoIdだけのリストファイルが作成されます。
リダイレクトを「>>」として7回分を追加書き込みしてソートしておくと便利です。
週に一回photoIdリストを取得しておくと、不具合発生中の承認と拒否の推移が分かります。コマンドプロンプトで下記の様にすると同じフォルダーのファイルをアペンドします。
c:\>copy /b photolist_*.json photolist_all.json
定期的にlistを取得するとviewCountのみ変化する。この行は下記で削除可能。
※位置情報が変わるのでおかしい(末桁が四捨五入??)詳細は未調査
type photolist.json | jq "del(.photos[].viewCount)" > photolist_delview.json
c:\>copy /b photolist_*.json photolist_all.json
※位置情報が変わるのでおかしい(末桁が四捨五入??)詳細は未調査
※代替方法 エディタMeryの置換で「^.*viewCount.*\n」を検索し削除する。
正規表現を使用、置換後の文字列欄は空白に |
placeIdは下記で抽出可能です。ソートの後に重複削除が必要です。
c:\>type file.json | jq -r .photos[].places[].placeId > placeId.txt
clipにパイプすると、クリップボードに書き込みます。
c:\>type file.json | jq -r .photos[].places[].placeId | clip
【Windows 10】「クリップボード履歴」を活用する
※コマンドプロンプトでファイル名・ディレクトリ名を補完する機能はTABキーです。