Job Update APIエラーのトラブ ルシューティング
Job Update APIの一般的なエラーと解決方法。
エラーの検出方法
Job Update APIは、エラーをGraphQLレスポンスとして返します。ほとんどのエラーは、HTTP 200を返し、レスポンスボディにエラーの詳細が含まれます。
HTTP 200の場合でも、レスポンスボディのerrors配列を必ず確認してください。
{ "data": null, "errors": [{ "message": "Error description", "extensions": { "code": "FORBIDDEN" } }]}extensions.codeフィールドには、エラーの種類(FORBIDDEN、BAD_USER_INPUT、NOT_FOUNDなど)が含まれます。
FORBIDDENエラー
code | FORBIDDEN |
|---|---|
| 概要 | アクセストークンに、要求された操作の権限がありません。 |
広告主が制限付きモデレーションステータスにある
{ "errors": [{ "extensions": { "code": "FORBIDDEN", "message": "Advertiser is in a restricted moderation status" } }]}OAuthトークンに関連付けられた広告主が、スパム対策として制限されています。
解決するには、次の手順を実行します。
- パートナーマネージャーに連絡して制限の解除を依頼します。
この操作に必要な権限がありません
{ "errors": [{ "extensions": { "code": "FORBIDDEN", "message": "You are missing permissions for this action. Ask your administrator for the permissions [Hosted_Job Create, Hosted_Job Update, Hosted_Job Read]" } }]}OAuthトークンに関連付けられたユーザーに、求人を更新するために必要な権限がありません。
解決するには、次の手順を実行します。
- OAuthクライアントが管理者ユーザーで作成されたことを確認します。
- OAuthクライアントに関連付けられたユーザーに、
Hosted_Job Create、Hosted_Job Update、Hosted_Job Readの権限を付与します。任意の管理者ユーザーがこの権限を付与できます。Indeedアカウント設定をご覧ください。
広告主が別の広告主によってクレームされた求人の更新を要求している
{ "errors": [{ "extensions": { "code": "FORBIDDEN", "message": "Advertiser is requesting an update to EJ (id=<EJID>), but the job is claimed by a different advertiser." } }]}別の広告主がすでにこの求人を更新しています。1つの求人を一度に更新できる広告主は1社のみです。
解決するには、次の手順を実行します。
- OAuthトークンが正しい広告主でリクエストされたことを確認します。
- 別の広告主が求人を更新した場合は、求人投稿の更新をクリアするミューテーションを使用します。
このエラーは、次の場合に発生する可能性があります。
- 広告代理店が複数の広告主から同じ求人へのアクセス権を持っている場合。ある広告主から求人を更新した後、別の広告主から更新するとこのエラーが発生します。
- 雇用主がUIで求人を編集した場合。広告代理店がAPIで求人を更新する前に、雇用主がUIでこれらの編集を取り消す必要があります。
UNAUTHENTICATEDエラー
code | UNAUTHENTICATED |
|---|---|
| 概要 | OAuthトークンの有効期限が切れているか、形式が正しくありません。 |
{ "errors": [{ "extensions": { "code": "UNAUTHENTICATED" } }]}解決するには、次の手順を実行します。
- OAuthトークンの有効期限が切れていないことを確認します(トークンは1時間有効です)。
- 新しいアクセストークンをリクエストします。
- 詳細な解決手順については、OAuthエラーのトラブルシューティングをご覧ください。
BAD_USER_INPUTエラー
code | BAD_USER_INPUT |
|---|---|
| 概要 | リクエストの形式が正しくありません。詳細については |
{ "errors": [{ "extensions": { "code": "BAD_USER_INPUT" } }]}解決するには、次の手順を実行します。
- 無効なフィールドの詳細について、
messageフィールドを確認します。 - リクエストフィールドが正しい形式であることを確認します。
- 正しい形式のリクエスト例については、APIリファレンスをご覧ください。
NOT_FOUNDエラー
code | NOT_FOUND |
|---|---|
| 概要 | 求人が見つかりません。 |
{ "errors": [{ "extensions": { "code": "NOT_FOUND" } }]}解決するには、次の手順を実行します。
sourcedPostingIdが正しいことを確認します。- OAuthトークンが正しい広告主でリクエストされたことを確認します。リクエストした広告主に求人を表示する権限がない場合、このエラーが発生します。
DOWNSTREAM_SERVICE_ERRORまたはINTERNAL_SERVER_ERROR
code |
|
|---|---|
| 概要 | 内部サーバーエラーが発生しました。 |
{ "errors": [{ "extensions": { "code": "DOWNSTREAM_SERVICE_ERROR" } }]}解決するには、次の手順を実行します。
- 後でリクエストを再試行します。
- エラーが解決しない場合は、パートナーマネージャーにお問い合わせください。
再試行戦略
| エラー | 再試行可能か | 戦略 |
|---|---|---|
DOWNSTREAM_SERVICE_ERROR | はい | 指数バックオフ |
INTERNAL_SERVER_ERROR | はい | 指数バックオフ |
UNAUTHENTICATED(期限切れトークン) | はい | トークンを更新してから1回再試行 |
FORBIDDEN | いいえ | 権限を修正 |
BAD_USER_INPUT | いいえ | リクエストを修正 |
NOT_FOUND | いいえ | sourcedPostingIdと広告主を確認 |
サポートを受ける
本ガイドで扱われていない問題が発生した場合は、次の手順を実行します。
- GraphQLエラーの
messageとextensionsオブジェクトを確認します。 - 必須のフィールドがすべて存在し、正しい形式であることを確認 します。
- 最小限の入力でテストし、フィールドを段階的に追加します。
- Indeed担当者にお問い合わせください。
関連項目: