このブログの画像は Google フォトに置いていて、 URL を取得するのにはてなブログを経由していたのですが、はてなブログの Google フォト貼り付け機能が使えなくなりました。そこで Google 純正の Blogger を使って URL を取得するようにした話です。
目次
Picasa 時代の共有 URL をはてなブログ経由で取得していた
このブログは WordPress を使っており External Featured Image Pro というプラグインにて Google フォトの URL を取得していました。しかし 2019 年 1 月 16 日に Picasa の API が廃止になったタイミングで Google フォトの貼り付けができなくなりました。 Picasa は Google フォトの前々身です。はてなブログなら External Featured Image Pro と同じ URL が取得できたのでそれを使っていたのですが、とうとうはてなブログからも URL が貼り付けできなくなりました。
ちなみにボタンを disabled しているだけなので、開発ツールでその部分を削除すれば URL が取得できるのですが、以下のように異様に長い URL だし 1 週間くらいすると表示が進入禁止マークに変わってしまいます。
<p><img class="magnifiable" src="https://lh3.googleusercontent.com/-j_izWDv_IsE/XrzYx7MHbkI/AAAAAAACC-0/gt2Nu1RuUuU5hRtLo2J1aDZdvhre6c08ACE0YBhgLKqMEAL1OcqxpPPKphgscix3I06xKSu9dsQFOc108ZnstuaBpfTt2lWNYV1-iriSSuzRkWGIpRy59vxXIz_Z11EKm8PCYWTYJ_IcM8mwckpIkbWSeCPaBf5dTqYW52naAaFKU6XS1n7NgLfhL5VgMLjPiz_VTSGCtK6fBTXuuBv9qWGQFdNJ0ktaRx0Ai_M3j0bqJTzs-jfFOHjrG-G60hQS5TlczZRESQMIwcrc61g_d02DPz9ohqlOk8_gkmwhEttcDR1SNmOYIsKfgFnxXz5tCnibejP8isF0lMPl3-JZORBo3m6MNw556FEdbAOKQ0mAEdVMi08xOu6N0adh6ode1qCUuPo_K0-3B8h1MPuxP_eG_oN1b_iC2vx7Bgpebv-lluTPbnFos6YallW4wP_CrMjmbqs3Oo86fSViRi06mV8ZezSgKlHeL1mhgR-4GeK5DDI2yArrNWyIyw-ON8yPjw5PtYWWKDU2gMvPMBj_OM-1V2kb90JiVL0VDFk6zLH4YUlO0qNAHlxweYnjdcL8T_gVQnnSCFjwRJb2G3NxzB1cI6Ou1iXm_4Q1DbmIh9MbA53OV6x_5Fdm4SlEetqYW-iv_xUoc_itP5Ca56DdQLtx5Q9kK4Qw47w17s7gcJ56Ce_61ONXYoyCnCypOTQHRHSM2sAadBQa8poMydLinU77OXA8IBRMbDdVKa41AiktuItfLllrC8huaOFYvHqvM7X5J1zCQi5P2BQ/s1200/20200517_31.jpg" itemprop="image" /></p>
Google Photos APIs では同じ URL を取得できそうにない
External Featured Image Pro で使われている URL を取得する API を Picasa のものから Google フォトのものに変更すれば使えるようになるのではないかと Google フォト API の仕様を見てみたのですが Picasa 時代と同じ URL を取得する方法はなさそうです。
→ Google Photos APIs : Access media items
唯一 URL を取得できそうなのは baseUrl
ですが説明に 60 分の有効期限があると書いてあります。(この有効期限の設定が今は長くなっているため 1 週間程度表示されたあと進入禁止のマークになるのだと思います。)
はてはブログはいったいどうやって URL を取得しているのか不思議だったのですが、 3 月半ばに取得できなくなったのを考えると、 Picasa API の使用の延長を届け出ていたのだと思われます。
Google 純正 Blogger なら Google フォトの写真が貼りつけられる
はてなブログがダメでももしかしたら Google 純正ブログの Blogger なら Google フォトの写真が貼りつけられるので、吐き出した HTML から URL が取ってこれるのではないかと思い試してみました。
サムネイルは表示されていなくても選択したら HTML を取得できました。
<a href="https://1.bp.blogspot.com/-uB8cTLTbyQw/XrzZHUDIuaI/AAAAAAACC_A/HTOHPW3xdOgBMxMxkOLx9RVKmPxp2dQqACPcBGAsYHg/s1600/20200517_31.jpg" imageanchor="1" ><img border="0" src="https://4.bp.blogspot.com/-uB8cTLTbyQw/XrzZHUDIuaI/AAAAAAACC_A/HTOHPW3xdOgBMxMxkOLx9RVKmPxp2dQqACPcBGAsYHg/s320/20200517_31.jpg" width="320" height="240" data-original-width="1600" data-original-height="1200" /></a>
URL を直に開いてみたらきちんと写真が表示されています。
しかしドメインが Blogger の 1.bp.blogspot.com ドメインになっています。もしかしたらこれを今までと同じドメインの lh3.googleusercontent.com にしても表示されるのではないかと思って試してみたら表示されました。エイリアスになっているようです。
ショートコードを自動生成
ということで Blogger で取得した Google フォトの URL を External Featured Image Pro のショートコードに変換するシートを LibreOffice で作りました。
こんな感じで Blogger からの HTML コードと alt 属性を貼り付けると External Featured Image Pro のショートコードが生成されるようにしました。あまりスマートな方法ではありませんがなんとかまだ使えています。