NodeJS ATSを作成するためのSponsored Jobs API連携ガイド
採用企業がATSでSponsored Jobsキャンペーンを作成できるアプリを構築します。
Indeed の API の使用について Indeed と書面による契約を締結していない場合、この API またはそのドキュメントを使用することにより、Indeed の API の使用には Indeed API Terms および Additional API Terms and Guidelines が適用されることに同意したものとみなされます。
連携の概要
このガイドでは、ATSパートナー向けに、採用企業がATSでSponsored Jobsキャンペーンを作成できるNodeJS Expressアプリの構築方法を説明します。
- Framework: Node.jsを使用します。
- OAuth: 3-legged OAuthを使用します。
- Sample code: Sponsored Job Campaigns APIをご覧ください。

サンプルアプリでは、次の方法を示します。
- XML求人フィードを使用してATSの求人をIndeedと共有する
- 3-legged OAuthを使用して、採用企業に代わってATSがSponsored Jobs APIを呼び出せるように認可する
/campaignsエンドポイントを呼び出してSponsored Jobsキャンペーンを作成する
GitHubのindeedeng/sponsored-jobs-nodejs-auth-codeからサンプルアプリのコードをダウンロードします。
連携手順
1. Indeedアカウントを作成する
アプリケーション用のIndeedユーザーアカウントを作成します。
- jp.indeed.comにアクセスします。
- サインインしている場合は、Profileメニューを開 き、Sign outを選択します。
- Sign inを選択します。
- **New to Indeed?**を選択します。
- メールアドレスとパスワードを入力します。
2. アプリを登録する
Indeed パートナーになると、Indeed が連携用のアプリを作成します。Partner Console にサインインして、アプリと OAuth 認証情報(クライアント ID、シークレット、および 3-legged OAuth の認可コード)を確認します。これらの認証情報をアクセストークンと交換し、API 呼び出しを認証します。
OAuth 2.0クレデンシャルタイプには、次の値を入力します。
アプリを登録する 項目 値 Public client アプリがpublic clientかどうか。
アプリがATSサイトにATS JavaScript Pluginを組み込む場合は、This application is a public clientを選択します。
Allowed grant types authorization code grant typeを選択します。 Redirect URL 1つ以上のredirect URLs。
アプリがATSサイトにATS JavaScript Pluginを組み込む場合は、プラグインを読み込むページのURLを追加します。
Save and continueを選択します。
Indeedがアプリをレビューするかどうかを選択し、Save and continueを選択します。レビューを省略すると、アプリがレビューされていないことを示す警告がユーザーに表示されます。
必要に応じて会社情報を追加し、Save and continueを選択します。
アプリ情報をプレ ビューし、Complete registrationを選択します。
ページにはクライアントIDと、public clientではない場合はシークレットが表示されます。これらのクレデンシャルは安全に保管してください。共有したり、公開Gitリポジトリにコミットしたりしないでください。
3. NodeJS Expressアプリを作成する
サンプルのNode.js Expressアプリでは、Indeed APIを呼び出すために、オープンソースのopenid-clientライブラリを使用します。
-
Node.jsとnpmをダウンロードしてインストールします。
-
HandlebarsJSビューエンジンを使用して
Find-TalentExpressアプリを生成します。npx express-generator Find-Talent --view=hbs --git--gitオプションにより、Express用の.gitignoreファイ ルが生成されます。 -
package.jsonがあるディレクトリに移動します。 -
必要なnpmパッケージをインストールします。
npm install -
package.jsonにopenid-clientライブラリを追加します。npm install openid-client -
オープンソースのAxiosライブラリを追加します。
npm install axios -
Expressアプリを起動します。
npm start -
http://localhost:3000/を開きます。
Welcome to Expressというメッセージが表示された、デフォルトのExpressインデックスページが表示されます。
4. アプリを設定する
Expressアプリを設定するには、設定ファイルを作成し、セッション状態を設定して、Bootstrapを有効にします。
config.jsファイルを作成する
シークレットを保存するには、Find-Talentアプリのルートにconfig.jsファイルを作成します。
const config = { oysterBaseURL: 'https://apis.indeed.com/ads/v1', oauthDiscovery: 'https://secure.indeed.com/.well-known/openid-configuration', oauthClientId: '90f9f4bd6a34cac31daebe1a093a606ce6b34e91ae6cfa139432ae387269a529', oauthClientSecret: 'bML2BGshr8mLng6d1c1qCujH2PgblxEJwW5WqLxpr32XWfAFSonlhIE07buG7Nlr', oauthRedirectURL: 'http://localhost:3000/oauth-callback', scope: 'employer_access offline_access employer.advertising.account.read employer.advertising.campaign', sessionSecret: 'Something Secret!',};
module.exports = config;scope設定には、OAuthアプリに必要な権限を指定します。たとえば、Sponsored Jobsキャンペーンを作成するには、employer.advertising.campaignを含めます。スコープの一覧については、ATSパートナー向けSponsored Jobs APIスコープをご覧ください。
oauthClientIdとoauthClientSecretは、登録済みOAuthアプリのクライアントIDとシークレットに置き換えてください。Manage app credentialsページで確認できます。
Expressは、セッション状態にsessionSecretを使用します。Something Secret!は、独自のシークレットに置き換えてください。
config.jsにはシークレットが含まれているため、このファイルを公開しないでください。たとえば、公開GitHubリポジトリに保存しないでください。