Googleアカウント画像を返却するだけのAPIを作った
みなさん、ご自身のプロフィール画像ってどう管理していますか?例えば、zenn のプロフィール画像って、更新していますか? 私は、プロフィール画像の更新は面倒なので、放置することが多いです。(Gravatar みたいな SaaS が使えたら良いのに...)
最近、自身のポートフォリオページ刷新を検討しており、プロフィール画像をどうするか悩みました。ポートフォリオのベースドキュメントは、Markdown を採用しています。
プロフィール画像を固定で保持させず、API 経由でプロフィール画像を設定できないかと思い、今回、Google アカウント画像を返却するだけの API、Google Account Photo APIを作成しました。
API のソースコードは、こちら(Github)です。1 時間程度で作ったので、正常パターンしか見ていません。(笑) ご了承ください。
Google アカウント画像ってどれ?
Google のアカウント画像は、www.google.com で表示されている右上の画像です。(ログインしている方のみ)
API の使い方
API を呼び出すために、あなたの Google アカウント ID というものを用意する必要があります。
Google アカウント ID の調べ方
あなたの Google アカウント ID は、Google People API の Explorer を実行 するだけで分かります。
実行すると、resourceName(ex. people/<account_id>)
というフィールドが返却されるので、そこに書いてある account_id が、あなたのモノになります。
API を呼び出す
API は、次の URL に GET 呼び出しします。YOUR_ACCOUNT_ID は、さきほど手に入れた account_id になります。
https://google-account-photo.vercel.app/api/?account_id=YOUR_ACCOUNT_ID
呼び出すと、画像を返却されます。私の場合は、次の画像が返却されます。
Markdown で活用する
この API を活用すれば、次のような Markdown を書くだけでプロフィール画像を表示することができます!
![google account image](https://google-account-photo.vercel.app/api/?account_id=YOUR_ACCOUNT_ID)
これだけだと、ちょっと味気ないので、Cloudinary を使います。Cloudinary は、URL のパラメータを設定するだけで、画像を加工できます。例えば、画像を円にする場合は、次の URL を書きます。
![circle google account image](https://res.cloudinary.com/demo/image/fetch/r_max/https%3A%2F%2Fgoogle-account-photo.vercel.app%2Fapi%2F%3Faccount_id%3DYOUR_ACCOUNT_ID)
Cloudinary についての説明は、割愛します。
私の場合は、次のような画像が表示されます。
Cloudinary について、詳しくは次の URL を確認ください。
終わりに
サクッと API を構築できちゃうのって、便利な世の中だな〜と思いました。
シェアしよう
関連するタグ
- 手軽に安い食材を見つけられるアプリ「ぼちぼち」を開発
- Qwikでブログページを刷新して学んだこと
- ライティングの効率化ツール:AI Ghostwriterの紹介
- Stable Diffusion API 開発
- Micro Frontendsで組成するフラグメントをWeb Componentsで定義してModule Federationで共有する
- OEmbedとOGPのWebComponentsを作ったので、自分のブログサイトに使う
- Chrome拡張機能(Manifest V3)の開発で知ったこと
- Markdownで執筆するなら、WebComponentsが使えるSSG、Rocketがオススメ!
- silverbirderのポートフォリオページ刷新(v2)
- TikTokスクレイプ基盤をGCP上で構築してハマったこと
- クライアントサイド(ES Module)でMicro Frontends
- Zalando tailor で Micro Frontends with ( LitElement & etcetera)
- Ara-Framework で Micro Frontends with SSR
- ZoomのMeetingを自動生成するGASライブラリ zoom-meeting-creator を作った
- アカウント画像一括更新ツールを作ったので、紹介と学びについて
- TwitterにあるLinkを収集するツール Cotlin で、世界中のプレゼンテーション資料を知ろう
- GMailをGCalendarに登録するサービス rMinc を作ってみた
- 1コマ漫画検索サービスTiqav2 (Algolia + Cloudinary + Google Cloud Vision API) 作ってみた