【Railway】パブリックAPIの使用

RailwayのGraphQLパブリックAPIを発見します。

Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)

パブリックAPIの使用

RailwayのパブリックAPIはGraphQLで構築されており、Railwayダッシュボードを強化するものと同じAPIです。

パブリックAPIを使用して、RailwayをCI/CDパイプラインやその他のワークフローに統合します。

GraphQLの理解

GraphQLを使用したことがない場合は、開始するためのいくつかのリソースを次に示します。

  1. GraphQLの公式紹介
  2. HasuraによるGraphQL基礎コース
  3. GraphQLはより良いRESTです REST APIとどう違うかを理解する

パブリックAPIへの接続

パブリックAPIに接続してクエリを実行するには、エンドポイントURLと認証用のトークンが必要です。

エンドポイント

パブリックAPIは、次のエンドポイントでアクセスできます。

https://backboard.railway.app/graphql/v2

トークンの作成

APIを使用するには、APIトークンが必要です。作成できるトークンには3つのタイプがあります。

チームトークンとアカウントトークン

アカウント設定のトークンページからAPIトークンを作成できます。

  • チームトークン - Team ドロップダウンでチームを選択して、チームに関連付けられたトークンを作成します。チームトークンは、チームのすべてのリソースにアクセスでき、Railway上の個人リソースへのアクセスには使用できません。このトークンはチームメイトと自由に共有してください。
  • アカウントトークン - チームを選択しない場合、トークンはRailwayアカウントに関連付けられ、所属するチームを含むすべてのリソースにアクセスできます。このトークンは他の誰とも共有しないでください。

チームはプロ機能です。

プロジェクトトークン

プロジェクト設定のトークンページからプロジェクトトークンを作成できます。

プロジェクトトークンは、プロジェクト内の特定の環境にスコープされており、その環境へのリクエストを認証するためにのみ使用できます。

テストクエリの実行

トークンを取得したら、リクエストのAuthorizationヘッダー内で渡すことができます。

アカウントトークンの使用

お好みのターミナルで以下のクエリを試すことができます。Railwayでの名前とメールアドレスが返されるはずです。

curl --request POST \
  --url https://backboard.railway.app/graphql/v2 \
  --header 'Authorization: Bearer <API_TOKEN_GOES_HERE>' \
  --header 'Content-Type: application/json' \
  --data '{"query":"query { me { name email } }"}'

注: このクエリは、返されるデータが個人アカウントにスコープされているため、チームまたはプロジェクトトークンでは使用できません

チームトークンの使用

チームトークンがある場合は、それを使用して特定のチームへのリクエストを認証できます。以下のクエリは、チーム名とIDを返すはずです。

curl --request POST \
  --url https://backboard.railway.app/graphql/v2 \
  --header 'Team-Access-Token: <TEAM_TOKEN_GOES_HERE>' \
  --header 'Content-Type: application/json' \
  --data '{"query":"query { team(id: \"<TEAM_ID_GOES_HERE>\") { name id } }"}'

注: このクエリは、チームのメンバーである限り、アカウントトークンでも使用できます

プロジェクトトークンの使用

プロジェクトトークンがある場合は、それを使用してプロジェクト内の特定の環境へのリクエストを認証できます。以下のクエリは、プロジェクトと環境のIDを返すはずです。

curl --request POST \
  --url https://backboard.railway.app/graphql/v2 \
  --header 'Project-Access-Token: <PROJECT_TOKEN_GOES_HERE>' \
  --header 'Content-Type: application/json' \
  --data '{"query":"query { projectToken { projectId environmentId } }"}'

スキーマの表示

PostmanやInsomniaなどの一般的なツールを使用して、APIに接続し、スキーマをクエリします。エンドポイントとAuthorizationトークンで接続を設定し、スキーマをフェッチするだけです。

APIコレクションファイル

また、お好みのAPIクライアントにインポートできるコレクションファイルも提供しています。

インポートしたら、APIトークンを追加するだけで接続され、コレクション内のクエリの実行を開始できます。

GraphiQL Playground

あるいは、GraphiQLプレイグラウンドを使用して、スキーマを表示し、クエリをテストすることもできます。

認証トークンを含むAuthorizationヘッダーを設定してください。GraphiQLページの下部にある「ヘッダー」タブをクリックし、独自のトークンを使用してこのjsonを入力します。

{"Authorization": "Bearer <API_TOKEN_GOES_HERE>"}

ヒントとコツ

リソースID

クエリを作成中に、リソースIDをすばやくコピーする必要がある場合は、プロジェクト内で Cmd/Ctrl + K を押して、プロジェクト/サービス/環境IDをコピーできます。

ネットワークタブ

達成しようとしていることに対してどのクエリ/ミューテーションを使用すればよいかわからない場合は、いつでもダッシュボードでアクションを実行し、ネットワークタブでリクエストを探すことができます。社内で同じAPIを使用しているため、名前を取得してから、内省されたスキーマで特定のクエリを探すだけです。

外部リンク

  1. awesome-graphqlリポジトリは、さまざまな言語で利用可能な実装を含む、GraphQLに関するすべての優れたリソースです。
  2. GraphQL Discordは、graphql.orgの公式Discordチャンネルであり、多くのアクティブなメンバーと特定のヘルプチャンネルがあります。

開始に役立つように、このセクションのガイド内にいくつかのクエリ例を提供しました -

サポート

APIの使用中に問題が発生した場合や提案がある場合は、APIに取り組んでいるエンジニアと直接対話できるDiscordサーバーに参加してください。

レート制限

パブリックAPIにはレート制限が適用されます。制限の詳細については、パブリックAPIリファレンスページをご覧ください。

Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)

Read more

リアルタイム投票アプリ5選【ライブ配信やイベントで】

リアルタイム投票アプリ5選【ライブ配信やイベントで】

ウェビナーやセミナー、社内研修を実施する際、「参加者が受け身になってしまう」「質問がなかなか出てこない」といった課題を感じたことはないでしょうか。 オンラインでの情報発信が当たり前になった今、一方的な配信だけでは参加者の満足度を高めることが難しくなっています。そこで注目されているのが、リアルタイムで参加者の意見を集約し、その場で結果を共有できる投票・質問ツールです。 本記事では、ライブ配信やイベント、研修などで活用できるリアルタイム投票アプリを5つ厳選してご紹介します。 リアルタイム投票でつながる参加者とイベント リアルタイム投票やQ&A機能を使うと、視聴者や参加者の意見を即座に集計・表示できます。講義や会議の進行を妨げず、参加者全員が自分の意見を簡単に表明できる仕組みです。 従来の挙手による質疑応答では、発言しづらいと感じる参加者も少なくありません。特にオンラインイベントでは、カメラがオンになっていることへの抵抗感や、大人数の前で質問することへのハードルが存在します。 しかし、スマートフォンから匿名で投票やコメントができる仕組みがあれば、参加者は気軽に自分の意見を伝えら

By 阿部 隼也
質問受付ツールの選び方とおすすめ5選を紹介

質問受付ツールの選び方とおすすめ5選を紹介

セミナーや講演会、社内研修などで「質問はありませんか?」と投げかけても、なかなか手が挙がらない経験はないでしょうか。参加者に有益な情報を提供しても、疑問や意見が共有されないまま終わってしまうのは、主催者にとっても参加者にとっても大きな機会損失です。 こうした課題を解決するために注目されているのが「質問受付ツール」です。参加者がスマートフォンから匿名で質問を投稿できるため、発言への抵抗感が下がり、活発なコミュニケーションが生まれます。 本記事では、質問受付ツールの基本機能から、実際に役立つおすすめツール5選、そして選定時に押さえておきたいポイントまで、実務に活かせる情報をまとめて解説します。 質問受付の現場課題 イベントやセミナーの運営で最も頭を悩ませる問題の一つが、参加者からの質問をいかに引き出すかという点です。質問タイムを設けても、会場がシーンと静まり返ってしまい、仕方なく「それでは時間になりましたので」と締めくくる光景は珍しくありません。 この背景には、日本特有の文化的要因も関係しています。大勢の前で発言することへの恥ずかしさ、自分の質問が的外れではないかという不安、他

By 阿部 隼也
オンラインセミナーアプリの選び方。参加者エンゲージメントを高めるポイント

オンラインセミナーアプリの選び方。参加者エンゲージメントを高めるポイント

近年、オンラインセミナーの活用が急速に広がっています。会場のコストや移動時間を気にすることなく、全国・世界中から参加者を集められる点は大きな魅力です。 しかし、せっかく開催しても 「参加者が途中で離脱してしまう」 「ただ見ているだけで反応が薄い」 といった課題を抱えている企業も少なくありません。 本記事では、参加者のエンゲージメントを高め、成果につながるオンラインセミナーアプリの選び方と、実務に役立つ具体的なポイントを解説します。 参加者とのつながりを生むオンライン環境の設計 オンラインセミナーにおける最大の課題は、画面越しの距離感です。会場で直接顔を合わせる機会がないからこそ、参加者が「ただ見ているだけ」にならないような仕組みが求められます。適切なツールと機能選びが、参加者のエンゲージメントを左右します。 従来のオフラインセミナーでは、会場の雰囲気や参加者同士の反応が自然と生まれましたが、オンラインではそうした「空気感」が伝わりにくくなります。だからこそ、双方向のコミュニケーション機能や、参加者の行動データを活用した設計が重要になるのです。 エンゲージメントを高

By 阿部 隼也
参加者の質問を効率的に管理!ZoomウェビナーQ&A機能の使い方を徹底解説

参加者の質問を効率的に管理!ZoomウェビナーQ&A機能の使い方を徹底解説

オンラインでのセミナーやイベントが日常化する中で、Zoomウェビナーを活用している企業が増えています。しかし、ウェビナーの開催で意外と頭を悩ませるのが「参加者からの質問をどう管理するか」という点ではないでしょうか。 セミナーが盛り上がり、次々と質問が寄せられるのは嬉しいことです。一方で、質問が多すぎて整理しきれない、どの質問に優先的に答えるべきか判断に迷う、といった課題も生じます。こうした問題を解決するために役立つのが、ZoomウェビナーのQ&A機能です。 本記事では、ZoomウェビナーのQ&A機能の基本的な使い方から、参加者の質問を効率的に管理する実践的なテクニックまで、詳しく解説していきます。 ZoomウェビナーのQ&A機能とは ZoomウェビナーのQ&A機能は、ウェビナー開催中に参加者が質問を投稿し、主催者側が回答を行うための専用機能です。この機能を使うことで、質問と回答がスレッド形式で整理され、効率的なコミュニケーションが可能になります。 チャット機能との違い Zoomには「チャット機能」もあるため、「Q&A機能とチャット機能の違いは何か」と疑問に思う方も多いで

By 阿部 隼也