情報管理LOG
yoshinon

ITやモバイル機器、iPhone、手帳や本など。

Swarm(旧Foursquare)のチェックイン過去履歴をGoogleカレンダーに一括登録する方法(前編)

2019年07月09日
Webサービス 0
2019070800.png


情報管理LOGの@yoshinonです。
先日来より懸案事項だったSwarmのチェックイン履歴がGoogleカレンダーに反映されなくなった問題ですが、その完結編になります。前回の記事から時間的に空いてしまったのは、非常に手こずっていたからです。うむむ。というわけで、この記事は前後編になります。
とにかく大変だったので、そのあたりの流れも含めてレポートします。


  
【 Swarm(旧Foursquare)のチェックイン過去履歴をGoogleカレンダーに一括登録する方法 】  

 1.Swarm(旧Foursquare)のチェックイン履歴が、Googleカレンダーに反映されなくなった問題

 2.Foursquareからチェックイン履歴をダウンロードする方法

 3.Excelでやろうとすると…

 4.さらに、「unixtime」問題








先日来より情報管理LOGで話題にしていたのですが、今までSwarmのチェックイン履歴が iCal形式で提供されており、Googleカレンダーに自動で反映していたものの、どうやら今年3月末までで提供がストップしていたようなのです。

Swarm(旧Foursquare)でチェックイン履歴のGoogleカレンダーが使えなくなった...

なんてこったい…。




今までは、このようにGoogleカレンダーを見れば、「いつ」「どこへ」行ったのかが、即分かったのに、それが使えなくなるのは、非常に痛いです。




とはいえ、IFTTTを使うことによって、これからチェックインしたものの履歴をGoogleカレンダーに残すことは、できるようにしました。

Swarm(旧Foursquare)でチェックイン履歴がGoogleカレンダーに残せなくなってしまったので、IFTTTで自動的に記録されるようにしてみた

もしも、これから自分のチェックイン履歴を残したいという人は、これで解決です。





さて、ここからは、長いことSwarmでチェックインしてきた人が対象となります。今までのチェックイン履歴を全てGoogleカレンダーに反映させたいですよね?
あと、今までSwarm使ってきたけど、アプリ内でしか履歴見てなかったけど、Googleカレンダーで見られるなら、ぜひやってみたいという人もぜひ、読んでみてください。

※注:今回の記事では、完全解決まで至りません。次回の後編で解決しますので、読むお時間のない人は後編をお待ちください。

まずは、Swarmのチェックイン履歴をダウンロードします。
Swarmのチェックイン履歴は、実はFoursquareにあります。ここが、すでに分かりにくいですよね。

FoursquareのWeb版にログイン>設定>プライバシー設定

からダウンロードできます。

2019070801.png


設定
設定




「自分のデータをダウンロード」でダウンロードできます。

2019070802.png





Zipで「data_export_○○」という名称でダウンロードされるので、それを解凍します。そうすると、色んなデータが入っていますが、必要なのは、「checkins.csv」1つだけです。
これですね。

2019070803.png



CSV形式でダウンロードできたので、それをExcelで開いてみます。

2019070804.png



えっと…。これ、やたら扱いづらいデータの並び方ですよね。
なぜ、1行おきにタイトル行来るし…。
しかも、「venue.name」は、文字化けしているし。

文字化けに関しては、「checkins.csv」をメモ帳で開くと、ちゃんと文字化けせずに表示されます。

2019070805.png



これは、文字コードの問題だと思ったので、文字コードを変更して、何回か保存し、Excelで表示するということを何度かしてみたのですが、解決しませんでした。
※誰か、このあたりの解決方法分かる方いたら教えてください。

ちなみに、Excelで1行おきのデータを1つにまとめるには、OFFSET関数を使うとできます。
例えば、1列目を表示させるための数式は、このようになります。

=OFFSET(checkins!B$2,ROW(A1)*2-2,0)

こうすると、1行おきにデータがあっても1個飛ばししながらデータを拾ってくれます。

2019070806.png



さらに、問題だったのが、「venue.name」でした。
文字化けもそうですが、それ以外にも

例えば、1行目

繧サ繧、ケ裂(文字化け中略)ォ蠎・,https://foursquare.com/v/%E3%82%BB%E3(URL中略)%88-

みたいな感じで、チェックイン名らしき文字列+FoursquareのURLとなっているのですよ。これは、どうやら、CSVをExcel側でちゃんと読み取りできなかったため、隣の列の「venue.url」とデータが混じってしまったと考えられます。

これも、先ほどと同じように別タブで1行飛ばしのデータを読み取った上で、さらにmid関数とfind関数でデータの区切り位置を見つけ出して、切り出すという数式でやれそうです(正直めんどい…)。

数式的には、こんな感じですね。

=IFERROR(MID(OFFSET(checkins!F$2,ROW(D1)*2-2,0),1,FIND(",",OFFSET(checkins!F$2,ROW(D1)*2-2,0))),OFFSET(checkins!F$2,ROW(D1)*2-2,0))

2019070807.png




まあ、文字列の抽出とかだったら、やれないレベルではないのですが、さらにもう一つ大きな問題が…。
それが、「unixtime」問題です。

unixtimeって何?

という人もたくさんいますよね。私もその一人でした。

「createAt」の部分が、チェックインの時間を示しているのですが、エクセルの表示形式でやってみると、全然時間として認識してくれないのです。

2019070808.png



unixtimeについては、ここら辺を読むと分かります。

UNIX時間 - Wikipedia
UNIX時間 - Wikipedia



GMT、UTC、UnixTimeって何が違うの? - きりだるまの記録帳
GMT、UTC、UnixTimeって何が違うの? - きりだるまの記録帳




1970年1月1日を起点として、「0」とします。1秒進むと数字が1つ上がって「1」となるというシンプルな仕組みです。とはいえ、あまり一般的とは言いがたいような形式ですよね(考え方としては、便利そうだけど)。

とはいえ、これをシリアル値に直したいので、ここを参照しながらやってみました。

UNIX Time から EXCELのシリアル値(日付・時間)に変換する方法 | あさひグループ (税理士法人あさひ会計、旭ブレインズ) 山形県山形市 税理士法人 税務会計 経営コンサルティング
UNIX Time から EXCELのシリアル値(日付・時間)に変換する方法 | あさひグループ (税理士法人あさひ会計、旭ブレインズ) 山形県山形市 税理士法人 税務会計 経営コンサルティング



[Excel]UNIX Time から日付(yyyy/mm/dd(aaa) hh:mm:ss)に変換 | ntの備忘録
[Excel]UNIX Time から日付(yyyy/mm/dd(aaa) hh:mm:ss)に変換 | ntの備忘録




数式的には、こうなります。

=(A1 + 32400) / 86400 + 25569

これで、シリアル値になりそうです。
ふぅ。

さて、ここまでが前編です。
Foursquareのデータは、個性が強すぎて、いじるだけでも面倒極まりない形式に名手います。そういうわけで後編では、Foursquareデータを一気にGoogleカレンダーに反映させるまでのフォーマットを含めて公開します。お楽しみに!!





 eyeglass2.png 情報管理LOGの眼
 データは、使う人のことを考えて欲しいよね

Foursquareのデータは、上でも書きましたが、非常に扱いづらいデータでした。とても、エクスポートして利用する人のことを考えてない感じがします。こういう最終的には、個人のもののデータは、汎用性を高めて欲しいですよね。
少なくても、unixtimeは、カンベンして欲しかったです。

関連記事

コメント0件

コメントはまだありません