Power Queryを使用してWeb APIからデータを取得していると、突然「アクセスが拒否されました」や「400 Bad Request」といったエラーが発生し、データ更新が失敗することがあります。このような症状が出た場合、よくある原因の一つがAPIトークンの期限切れです。トークンは一定期間で失効するため、定期的な更新が必要です。本記事では、トークン期限切れが疑われる際の具体的な確認手順と、問題を切り分けるための基準を解説します。会社のPCで作業を進める前に、管理者への確認ポイントも押さえておきましょう。
【要点】この記事で確認すること
- 最初に見る場所: Power Queryのエラーメッセージとクエリの認証設定画面です。具体的なエラーコードやトークンの有効期限が表示されている場合があります。
- 切り分けの軸: 端末側(ローカルの認証情報)、アカウント側(APIのアクセス権限)、管理設定側(APIプロバイダーのトークン有効期限ポリシー)の3つで原因を分類します。
- 注意点: 会社PCでは認証情報の変更やトークンの再発行が管理者によって制限されていることがあります。無理に手動更新を試みる前に、組織のITポリシーを確認してください。
ADVERTISEMENT
目次
1. トークン期限切れが疑われる典型的な症状
Power QueryでWeb APIを利用する際、認証方式としてAPIキーやOAuth2.0のアクセストークンが使われます。トークンが期限切れになると、次のようなエラーが発生します。
- 「認証に失敗しました」:Power Queryのクエリ更新時に表示される一般的なエラーです。
- 「401 Unauthorized」または「403 Forbidden」:HTTPステータスコードが直接返される場合があります。
- 「Token has expired」:英語のメッセージがそのまま出ることもあります。
- データ取得が途中で止まる:部分的なデータしか取れず、更新が完了しない。
これらの症状が出た場合、まずはトークンの有効期限を確認することが第一歩です。ただし、同様の症状はネットワーク障害やAPIの変更などでも起こるため、切り分けが必要です。
2. 確認手順:Power Queryの認証設定をチェックする
トークン期限切れの確認は、Power Queryのクエリ設定画面から行います。以下の手順に従って操作してください。
- Excelで該当のクエリが設定されているワークシートを開きます。「データ」タブの「クエリと接続」をクリックします。
- 右側の「クエリと接続」ペインから、エラーが発生しているクエリを右クリックし、「編集」を選択してPower Queryエディターを開きます。
- Power Queryエディターで、「ホーム」タブの「データソースの設定」をクリックします。
- 「データソースの設定」ダイアログで、該当するWeb APIのソースを選択し、「アクセス許可の編集」をクリックします。
- 「資格情報」の一覧から、使用している認証方式(例:Web APIキー、OAuth2.0など)を確認します。「編集」を押して認証情報の詳細を表示します。
- OAuth2.0の場合、「アクセストークン」の有効期限が表示されることがあります(例:「有効期限:2025-03-20 15:00:00」)。この日時が現在時刻より過去であれば、期限切れです。
- APIキーの場合は有効期限が表示されないことも多いですが、キーの失効日をAPI提供元の管理画面で確認する必要があります。
上記の手順でトークンの有効期限が確認できない場合、次のセクションで説明する代替手段を試みてください。
2.1 トークンの有効期限が表示されない場合の確認方法
Power QueryのUIに有効期限が表示されないことがあります。その場合は、以下の方法で確認できます。
- APIプロバイダーの管理画面を確認する:例えば、Microsoft AzureのAPI Managementや、Salesforce、Google APIのコンソールなどで、発行したトークンの有効期限を確認できます。
- トークンデコードツールを使う:JWT(JSON Web Token)形式のトークンは、jwt.ioなどのデコーダーでペイロードを確認すると有効期限(exp)が分かります。ただし、会社のセキュリティポリシーに違反しないか注意してください。
- Power Queryの詳細エディターでM言語をチェックする:クエリ内でトークンを直接指定している場合、その文字列をデコードできる可能性があります。
3. 失敗パターン:トークン更新がうまくいかない理由
トークンが期限切れになっていると分かっても、更新に失敗するケースがいくつかあります。代表的な失敗パターンを挙げます。
| 失敗パターン | 原因 | 対策 |
|---|---|---|
| 手動更新で新しいトークンを入力してもエラーが続く | 入力したトークンの有効期限が切れている、または権限が不足している。 | API提供元から最新のトークンを再発行してもらい、正しくコピー&ペーストする。 |
| 「アクセス許可の編集」で資格情報を変更できない | グループポリシーや管理者権限によって編集がロックされている。 | IT管理者に連絡し、資格情報の変更を依頼する。 |
| クエリ更新時に毎回認証ダイアログが表示される | 保存されている資格情報が破損しているか、OAuthのリフレッシュトークンが切れている。 | 資格情報を一度削除して再設定する。 |
| Power Queryの更新が途中で止まる | トークンが有効でも、APIのレート制限に引っかかっている可能性。 | APIの利用制限を確認し、リクエスト間隔を調整する。 |
3.1 自動更新が設定されていないケース
多くのAPIでは、アクセストークンの有効期限が短く(例:1時間)、リフレッシュトークンを使って自動更新する仕組みがあります。Power Queryが自動更新に対応している場合、資格情報の設定時に「自動更新」オプションを有効にする必要があります。このオプションがオフになっていると、有効期限が切れた後に手動で再発行しなければなりません。
例えば、Microsoft Graph APIやSalesforce APIでは、OAuth2.0の認証フローでリフレッシュトークンを取得できます。Power Queryで「OAuth2.0」を選択し、「自動更新を使用する」にチェックが入っているか確認してください。この設定がない場合は、一度資格情報を削除して再作成する必要があります。
ADVERTISEMENT
4. 状況別比較表:トークン期限切れと他の原因の切り分け
同様のエラーを引き起こす要因を比較します。以下の表を参考に、原因を絞り込んでください。
| 症状 | トークン期限切れ | ネットワーク障害 | APIの仕様変更 | レート制限 |
|---|---|---|---|---|
| エラーメッセージ | 「401」や「Token expired」 | 「タイムアウト」「接続できません」 | 「400 Bad Request」「パラメータエラー」 | 「429 Too Many Requests」 |
| 発生タイミング | 一定時間経過後(例:1時間ごと) | 不定期、特にネットワーク変更後 | API提供元のアップデート後 | 大量のリクエストを短時間に行った後 |
| Power Queryの資格情報 | 有効期限が切れている | 影響なし | 影響なし | 影響なし |
| 他のアプリでのAPI利用 | 同様にエラーが出る | 同様にエラーが出る | 同様にエラーが出る | 影響される場合がある |
5. 管理者へ伝える情報:トークン管理の依頼に必要な項目
社内で使用するAPIのトークン管理は、多くの場合IT部門やシステム管理者が担当しています。Power Queryでトークン期限切れが疑われる場合、管理者へ正確に状況を伝えるために以下の情報を整理してください。
- 使用しているAPIのエンドポイントURL:Power Queryのソースとして設定しているURL(例:https://api.example.com/v1/data)。
- 認証方式:APIキー、OAuth2.0、Basic認証など。
- エラーメッセージの全文:Power Queryに表示されるエラーメッセージをスクリーンショットまたはテキストで控えておく。
- 発生時刻と頻度:いつからエラーが出るようになったか、毎回更新時に発生するのか、不定期なのか。
- 最終正常更新日時:最後にデータ取得が成功した日時を記録しておく。
- 試した対策:既に手動でトークンを再発行したか、資格情報を再設定したかなど。
管理者はこれらの情報をもとに、トークンの有効期限ポリシーや発行元の設定を確認します。場合によっては、リフレッシュトークンの利用可否や自動更新の設定を見直す必要があります。
5.1 トークンの発行元が社内管理の場合
自社で開発したAPIや、Azure ADアプリケーション登録など社内管理のトークンであれば、管理者が直接有効期限を延長したり、新しいトークンを発行できます。一方、外部SaaS(例:Salesforce、Google Analytics)のトークンは各サービスの管理画面から再発行が必要です。
6. よくある質問(FAQ)
Q1. Power Queryでトークン有効期限を自動更新する方法は?
OAuth2.0を使用している場合、Power Queryの認証設定で「自動更新」オプションを有効にすると、リフレッシュトークンを使って自動的にアクセストークンが更新されます。設定手順は、クエリ編集画面の「データソースの設定」→「アクセス許可の編集」で認証方式をOAuth2.0にし、詳細設定で「自動更新」にチェックを入れます。ただし、管理者がこの機能を無効にしている場合があります。
Q2. トークンが期限切れかどうか、確実に判断するには?
最も確実な方法は、APIプロバイダーの管理画面でトークンの有効期限を直接確認することです。また、エラーメッセージに「expired」が含まれていればほぼ間違いありません。Power Queryの資格情報画面で有効期限が表示されない場合は、トークンをデコードしてexpクレームを確認する方法もあります。
Q3. トークン更新後も同じエラーが続く場合、他に何を確認すべき?
トークンが新しいものでもエラーが出る場合、APIのエンドポイントが変更されていないか、クエリのパラメーターやヘッダーに問題がないかを確認してください。また、ファイアウォールやプロキシの設定変更により通信がブロックされている可能性もあります。ネットワーク管理者に相談しましょう。
Q4. 会社のPCでPower Queryの資格情報を変更しても問題ないか?
会社のPCでは、グループポリシーにより資格情報の変更が制限されていることがあります。IT部門の許可なく変更すると、セキュリティポリシーに違反する恐れがあります。必ず管理者に確認してから操作してください。
7. まとめ
Power QueryでWeb APIを利用する際、トークン期限切れは頻繁に発生する問題です。本記事で紹介した確認手順に従い、まずはPower Queryの認証設定画面を開いて有効期限をチェックしましょう。もし表示されない場合は、API提供元の管理画面やトークンデコードで確認します。問題が解決しない場合は、ネットワーク障害やAPI仕様変更など他の原因を切り分け、管理者へ適切な情報を伝えて対処を依頼してください。定期的なトークン更新や自動更新の設定を活用することで、再発を防止できます。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
