- 概要
- Step 1. Indeedアカウントを作成する
- Step 2. アプリを登録する
- Step 3. NodeJS Expressアプリを作成する
- Step 4. アプリを設定する
- config.jsファイルを作成する
- セッション状態を設定する
- Bootstrapを設定する
- Step 5. XML求人フィードを公開する
- 静的な求人一覧を返す
- npm XMLライブラリをインストールする
- 各求人にsourceNameを追加する
- XML求人フィードのルートを追加する
- Step 6. アプリのホームページを作成する
- Step 7. Indeed APIsを呼び出せるようにアプリを認可する
- Step 8. Sponsored Jobsキャンペーンを作成する
GET /campaign/createルートを作成する- campaign-createビューを作成する
POST /campaign/createルートを作成する- createCampaignメソッドを作成する
- Step 9. Sponsored Jobsキャンペーンを表示する
- キャンペーンを一覧表示する
- Sponsored Jobsキャンペーンの詳細を取得する
- キャンペーンを一時停止、再開、削除する
NodeJS ATSを作成するためのSponsored Jobs API連携ガイド
3-legged OAuthを使用してNodeJS応募者追跡システムを作成します。
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からサンプルアプリのコードをダウンロードします。
Step 1. Indeedアカウントを作成する
アプリケーション用のIndeedユーザーアカウントを作成します。
Indeedアカウントを作成するには、次の手順を実行します。
- jp.indeed.comにアクセスします。
- サインインしている場合は、Profileメニューを開き、Sign outを選択します。
- Sign inを選択します。
- **New to Indeed?**を選択します。
- メールアドレスとパスワードを入力します。
Step 2. アプリを登録する
When you become an Indeed partner, Indeed sets up an app for your integration. Sign in to Partner Console to view your app and OAuth credentials (client ID, secret, and authorization code for 3-legged OAuth). Exchange credentials for an access token to authenticate API calls.
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を選択します。
アプリのレビューを受けるかどうかを指定し、Save and continueを選択します。レビューを省略すると、アプリがレビューされていないことを示す警告がユーザーに表示されます。
必要に応じて追加の会社情報を入力し、Save and continueを選択します。
アプリ情報をプレビューし、Complete registrationを選択します。
ページにはクライアントIDが表示されます。public clientではない場合は、クライアントシークレットも表示されます。これらのクレデンシャルは安全に保管してください。共有したり、公開Gitリポジトリにコミットしたりしないでください。
Step 3. NodeJS Expressアプリを作成する
サンプルのNode.js Expressアプリでは、OAuthクライアントアプリがIndeed APIを呼び出せるように、オープンソースのopenid-clientライブラリを使用します。
Node.js Expressアプリを作成するには、次の手順を実行します。
-
Node.jsとnpmをダウンロードしてインストールします。
-
HandlebarsJSビューエンジンを使用して
Find-TalentExpressアプリを生成します。npx express-generator Find-Talent --view=hbs --git--gitオプションにより、Express用の.gitignoreファイ ルが生成されます。 -
package.jsonファイルがあるディレクトリに移動します。 -
必要なnpmパッケージをインストールします。
npm install -
openid-clientライブラリが含まれるようにpackage.jsonファイルを更新します。npm install openid-client -
package.jsonファイルを更新するオープンソースのAxiosライブラリをインストールします。npm install axios -
Expressアプリを起動します。
npm start -
http://localhost:3000/を開きます。
Welcome to Expressというメッセージが表示された、デフォルトのExpressインデックスページが表示されます。
Step 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ページで確認できます。
sessionSecret設定は、Expressのセッション状態に使用します。Something Secret!は、任意の新しいシークレットに置き換えてください。
config.jsにはシークレットが含まれているため、このファイルを公開しないでください。たとえば、config.jsを公開GitHubリポジトリに保存しないでください。
セッション状態を設定する
アクセストークンを繰り返し要求しないようにするには、アクセストークンをセッション状態に保存します。Expressアプリでセッション状態を有効にするには、次のコマンドを実行します。
npm install express-session