- このチュートリアルでは、GitHub 上のxizeyoupan/Meting-APIオープンソースプロジェクトを使って、サーバーレスで自分専用の Meting-API をデプロイします
- この記事は主にサーバーを持っていない方向けの解説です。サーバーをお持ちの場合は、このリポジトリmetowolf/Meting-APIに切り替えてデプロイしてください
- 自前構築のメリット:API の呼び出しを他人に左右されず、サービス停止の心配もありません。API が自分の手元にあるからです
- デモ Test:meting-api.saop.cc/test
前提条件
- GitHubアカウントを登録する(すでに持っていれば登録不要)
- Vercelアカウントを登録する(すでに持っていれば登録不要)
- GitHub と Vercel の公式サイトにアクセスできる手段(マジック)があること
- 自分専用のドメインと、一定のコンピュータの基礎知識
- 両手、頭、目、そしてパソコンかスマートフォン
チュートリアル
0x0001
xizeyoupan/Meting-APIオープンソースプロジェクトのリポジトリに移動し、右上のForkボタンをクリックしてこのリポジトリの main ブランチを Fork します。
Vercelプラットフォームに進み、Add New...>Projectをクリックして、少し頭を使って、先ほど Fork したリポジトリを追加します。
0x0002
デプロイが成功したら、プロジェクトのSettings>Domainsカスタムドメインに進み、自分のサブドメインを追加します。たとえば私の場合はmeting-api.saop.ccです。
自分のドメインの DNS サービスプロバイダー(たとえば私のドメインなら Tencent Cloud)に移動し、Vercel が提供する CNAME レコードを追加します。
0x0003
少し待ちます。だいたい2〜3分ほどです。その後、先ほどバインドした二级域名/testにアクセスします。たとえばhttps://meting-api.saop.cc/testです。
エラーが出た場合はすべてやり直してください。基本的には自分の操作ミスです。成功すれば、以下のテストページが表示されます:

曲の左上にはサービスプロバイダーと取得した種類が表示され、それぞれ次のように対応しています:
| 元の名前 | サービス | 種類 |
|---|---|---|
| tencent playlist | QQ 音楽 | プレイリスト |
| tencent song | QQ 音楽 | シングル |
| netease playlist | 网易雲音楽 | プレイリスト |
| netease song | 网易雲音楽 | シングル |
| netease artist | 网易雲音楽 | アーティスト |
| ytmusic playlist | YouTube / ユーチューブ | プレイリスト |
| ytmusic song | YouTube / ユーチューブ | シングル |
| spotify playlist | Spotify | プレイリスト |
| spotify song | Spotify | シングル |
一部のサービスプロバイダーや種類が空白になっている場合、そのサービスプロバイダーや種類のデータを取得できていないことを意味するので、使用時にはその項目を避けてください。
使い方
API パラメータの説明
server: データソース
- netease 网易雲音楽
- tencent QQ 音楽
type: 種類
- name 曲名
- artist 歌手
- url リンク
- pic カバー
- lrc 歌詞
- song シングル
- playlist プレイリスト
id: 種類 ID(カバー ID / シングル ID / プレイリスト ID)
例:
API に Meting.min.js を埋め込む
Meting.min.jsファイルを自分のデバイスに保存します
Meting.min.js:https://npm.elemecdn.com/meting/dist/Meting.min.js
このファイルを編集し、Ctrl + F でapi?server=を検索し、https://api.i-meto.com/meting/api?server=を自分の API に置き換えてから Ctrl + S で保存します
- 置き換え前:
https://api.i-meto.com/meting/api?server= - 置き換え後:
https://meting-api.saop.cc/api?server=
置き換えたら、コードスペースに置いてリンクでこのファイルを参照して使えます。ローカルに置いて相対リンクで参照してもかまいません。
Hexo の Butterfly テーマに適用する
設定前に APlayer 音楽プラグインが有効になっていることを確認してください。そうでないと設定しても意味がありません…
Meting.min.jsファイルを[站点根目录]\source\jsフォルダ内に置き、テーマ設定ファイル_config.butterfly.ymlを編集します。
meting_js:設定項目の CDN リンクを/js/Meting.min.jsに置き換えます
# CDN
# Don't modify the following settings unless you know how they work
# 非必要請不要修改
CDN:
# The CDN provider of internal scripts (主題內部 js 的 cdn 配置)
# option: local/jsdelivr/unpkg/cdnjs/custom
# Dev version can only choose. ( dev版的主題只能設置為 local )
internal_provider: local
# The CDN provider of third party scripts (第三方 js 的 cdn 配置)
# option: local/jsdelivr/unpkg/cdnjs/custom
# when set it to local, you need to install hexo-butterfly-extjs
third_party_provider: unpkg
# Add version number to CDN, true or false
version: false
# Custom format
# For example: https://cdn.staticfile.org/${cdnjs_name}/${version}/${min_cdnjs_file}
custom_format:
option:
aplayer_css: https://npm.elemecdn.com/aplayer/dist/APlayer.min.css
aplayer_js: https://npm.elemecdn.com/aplayer/dist/APlayer.min.js
meting_js: /js/Meting.min.js最後はもちろん Hexo の3連発です!
hexo cl; hexo g; hexo sF12 でMeting.min.jsファイルが読み込まれているか確認できます
謝辞
GitHub:xizeyoupan/Meting-API