範圍是對的。真正的問題是帳號類型。

一支相簿 API 呼叫,一直回傳「授權範圍不足」,即使已經獨立確認過,正在使用的權杖上,確實帶著完全正確的範圍——因為不管是什麼範圍,這支呼叫從一開始就注定不會成功,原因跟這次請求本身完全無關。

This article is also available in English: English version——內容相同,僅語言不同。

每一次呼叫一支相簿函式庫 API,都回傳授權範圍不足的錯誤,即使已經獨立確認過, 正在使用的權杖上,確實帶著正確的範圍。兩個聽起來合理的修法先後被排除, 才浮現出真正的答案:不管用什麼範圍都不會成功,原因藏在, 這次呼叫用的是哪一種 Google 帳號類型裡。

先確認範圍真的在那裡,不只是有請求過

這次任務,是用 Google 相簿函式庫 API 的唯讀範圍,去讀取一個相簿函式庫。 呼叫失敗,錯誤是「授權範圍不足」——這句話讀起來, 像是一個單純的請求跟回應對不上的問題,而最直覺的第一步, 就是假設這個權杖根本沒有帶上它需要的範圍。這個假設, 沒有撐過直接的驗證:拿實際的權杖去對 Google 自己的 tokeninfo 端點檢查, 顯示正確的範圍確實存在。這不是一個「請求了錯誤的範圍,得到剛好符合預期的錯誤」的情況—— 正確的範圍就在那裡,而 API 還是拒絕了這次呼叫。

Unlock this article to keep reading, or subscribe for unlimited access to everything. See Pricing for details.