登入開始免費試用
Meta Tech Provider

WhatsApp 錯誤 10:權限未授予或已被移除

錯誤代碼 10 表示應用程式的存取權杖缺少端點所需的權限,原因是從未授予,或已被移除。Meta 的說明是「Permission is either not granted or has been removed.」。Meta 另列出兩個 WhatsApp 成因:Flows with Endpoint 使用了未列入允許清單的號碼,以及未符合某個 API 的資格要求。

10

Meta 對「Permission is either not granted or has been removed.」所用的代碼。

API Permission Denied

Graph API 錯誤處理指南為代碼 10 所定的名稱。

Advanced access

合作夥伴應用程式在客戶帳戶上使用每項權限時所需具備的條件。

WhatsApp 錯誤代碼 10 是什麼意思?

這表示存取權杖已送達 Meta 並獲得識別,但呼叫所需的權限不在該權杖上。

Meta 的 Cloud API 參考文件為代碼 10 提供的詳細說明是「Permission is either not granted or has been removed.」。Graph API 錯誤處理指南稱之為 API Permission Denied,並指示要處理缺少的權限。

「已被移除」這一點很重要。權限可能在設定時授予,其後才被收回,例如有人在 Business Settings 中撤銷了應用程式的存取權。因此,一個已運作數月的整合,可能在自身程式碼毫無改動的情況下開始返回 10。

Meta 還列出哪些導致錯誤 10 的成因?

有兩個是 WhatsApp 專屬的成因,而且都不涉及權限範圍,所以很容易被忽略。

對於 WhatsApp Flows with Endpoint,Meta 指示要確保用來設定商家公開金鑰的號碼已列入允許清單。即使存取權杖具備所有權限,使用清單以外的號碼也會產生此錯誤代碼。

Meta 亦指出,若帳戶不符合所呼叫 API 的資格要求,就會收到此代碼。在這種情況下,更換存取權杖也無濟於事,因為關卡在於帳戶的資格,而不是憑證。

如何修正錯誤 10?

先從存取權杖偵錯工具入手,Meta 將它列為首要檢查項目。

如果 `scopes` 清單缺少端點所需的權限,請讓商家重新授予。對於合作夥伴應用程式,這也代表要確認該權限已取得 Advanced access,因為 Meta 的權限指南規定客戶帳戶必須具備。

如果權限範圍看來完整,就轉而檢查這兩個 WhatsApp 成因。若是 Flows 呼叫,請檢查設定公開金鑰的號碼是否在允許清單內。其他情況,請先閱讀您所呼叫 API 的資格要求,確認帳戶符合後,才去更改任何憑證。

常見錯誤

  • 以為是部署導致整合失效。在 Business Settings 中移除權限,同樣會產生此代碼,而程式碼完全沒有改動。
  • 成因是資格問題卻去重建存取權杖。憑證無法讓不合資格的帳戶變得合資格。
  • 忽略 Flows 的允許清單。在 Flows with Endpoint 上,清單以外的號碼即使權限齊全也會返回 10。
使用 EasyCoexistence 完成這項設定

EasyCoexistence 在完成接入後會持續監察每個已連接號碼,因此失去存取權的連接會顯示在控制台上,而不是先以傳送失敗的形式出現。

常見問題

錯誤 10 與錯誤 131005 相同嗎?

兩者在 Meta 參考文件中的說明相同。代碼 10 屬於 Graph API 代碼,131005 則屬於 WhatsApp 的代碼範圍。兩者的檢查方法一樣。

昨天運作正常的號碼,今天會出現錯誤 10 嗎?

會。Meta 的說明包含已被移除的權限,所以較早前授予的存取權,之後也可能被撤回。

錯誤 10 是否代表我的存取權杖已過期?

不是。存取權杖過期的代碼是 190 或 0。代碼 10 表示存取權杖有效,但缺少某項權限。

如何查看已授予哪些權限?

呼叫 debug_token,或開啟存取權杖偵錯工具。`scopes` 屬性會列出該存取權杖上的所有權限。

繼續閱讀

準備開始嗎?

幾分鐘內設定 WhatsApp Coexistence,而非幾個月。應用程式在手機上仍可繼續運作。

開始免費試用

驗證日期

WhatsApp 錯誤 10