2021/11/23 流石に内容が薄かったので追記・編集しました。
iPhoneを使い始めてしばらく経ちましたが、壁紙を見飽きてしまいました。
毎日ちがう壁紙を設定したい!しかも自動で変更してほしい!探すのも面倒なので、いいカンジの壁紙を見繕って来てほしい!
そんなワガママを叶える夢のような(?)ショートカット作りました。
##いいカンジの壁紙を探す
日替わりで、いいカンジの壁紙となる画像データを手に入れなければなりません。
今回、パッと思いついたのは**Bing**とWindowsスポットライトでした。
(WindowsスポットライトはWindowsのロック画面のバックグラウンド画像を日替わりで表示する機能です)
今回は、Bingを使うことにしました。
毎日いい感じに変わり、PC/スマホ用の壁紙データも用意されていました。(Bingトップページにダウンロードするリンクがあります)
WindowsスポットライトもAPIがあると思うのですが、探すのが面倒だったのと、スマホ用にトリミングされたデータがあるのか不明だったためです。
##ショートカットを作る
ショートカットアプリを使用して、壁紙を変更するショートカットを作りましょう。
今回、ショートカットアプリを使ってみて、想像以上に色々なことができる事がわかり、可能性を感じました。
ショートカットのフローとしては
- Bingから画像データを取得する
- 壁紙を変更する
の2ステップで、とても簡単・・・だと思っていました。
###BingのAPIから画像データを取得する
Bingの日替わり画像のAPIからjsonデータとして画像データのURLや情報を取得することができました。
https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=ja-JP
取得したjsonデータのurlbaseの値、imagesコレクションの最初の値を使用すると、画像データのURLを構築できそうです。
- Web > Webリクエスト > URL を使いAPIにGETリクエスト
- スクリプティング > 辞書 > リストから選択 を使い、urlbase の値を取得
- スクリプティング > 辞書 > リストから項目を取得 を使い、上のデータからimagesの値を取得
- スクリプティング > 辞書 > リストから選択 を使い、上のデータの最初の項目を取得
- 書類 > テキスト編集 > テキストを結合 を使い、https://bing.com とurlbase、imagesの値を結合します
- Web > Webリクエスト > URL を使い結合したテキスト(URL)の内容を取得
ここまでで、やっと画像データが取得できました。
デバッグには、書類 > プレビュー > 結果を表示&クイックルックが便利でした。
###壁紙を変更する
画像が手に入ればあとは簡単、壁紙を変更するだけです。
壁紙を変更する処理は、ある程度新しいiOSでないと使用できないようです。(14以上?)
- スクリプティング > システム > 壁紙を設定 を使い、取得した画像に壁紙を変更します。
###オートメーションで実行する
あとは、オートメーションタブから、作成したショートカットを実行するだけです。
好きなタイミングで実行しましょう。
##最終的にこうなりました
![]() |
![]() |
---|
##作成したショートカットを共有します
作成したショートカットの共有リンクを掲載しておきます。
手作りするのもめんどくさい!という方はご利用ください。
https://www.icloud.com/shortcuts/b7e93e431f084f85a6030f6f59d09700
今回はBingを使いましたが、いい感じの画像をゲットできるAPIなどがあれば、お好みで上記ショートカットをカスタマイズすると良いと思います。
今回、APIを叩いてjsonからデータを取得したりしていますが、そこまでできれるのであれば何とでもなると感じられるのではないでしょうか。