2016-07-27 44 views
0

以下API請求:sendgrid錯誤 「訪問禁止」 試圖獲得用戶簡檔API時

curl --request GET \ 
    --url https://api.sendgrid.com/v3/user/profile \ 
    --header 'Authorization: Bearer API KEY'\ 
    --header 'Content-Type: application/json' 

從文檔:https://sendgrid.com/docs/API_Reference/Web_API_v3/user.html

結果用下面的主體上的HTTP 403響應:

{"errors":[{"field":null,"message":"access forbidden"}]} 

我去設置 - > API鍵,點擊'編輯詳細信息'查看授予我的API密鑰的權限,並且據我所知,沒有任何權限,我可以g咆哮(或撤銷)似乎與'用戶配置文件'相關。

爲了安全起見,我已經配置了'全部訪問'(如果可用)或'讀取訪問'的每一個權限,如果'完全訪問'不可用,但我仍然得到這個HTTP 403錯誤。

我需要授予我的API密鑰以便檢索我的用戶配置文件的權限是什麼?

+0

你在授權標題中使用'API KEY'的值是什麼?它是否以'SG。'開頭?只是想確保您使用的是API密鑰而不是API密鑰ID。看到這裏:http://stackoverflow.com/questions/34789622/send-grid-seems-to-be-preventing-my-node-js-server-sending-emails/34798357#34798357 –

+0

我敢肯定我已經使用在第一次生成密鑰時顯示的API密鑰。但是我得到了同樣的錯誤{「errors」:[{「field」:null,「message」:「access forbidden」}]} –

回答

1

我挖掘了這一點,並嘗試了各種各樣的東西。

您無法通過網站界面爲此設置權限。您必須進行API調用才能設置權限。

https://sendgrid.com/docs/API_Reference/Web_API_v3/API_Keys/api_key_permissions_list.html#User-Settings顯示用戶設置的所有可能的權限/範圍的列表。

https://sendgrid.com/docs/API_Reference/Web_API_v3/API_Keys/index.html#Update-the-name-amp-scopes-of-an-API-Key-PUT解釋瞭如何將範圍添加到您的API密鑰。

增加:所以這比這更復雜。您不能使用API​​密鑰來修改API密鑰,除非該密鑰已具有「api_keys.update」權限/範圍。這意味着你會發現自己處於捕獲狀態22.您不需要使用「Authroization:Bearer {API_KEY}」授權頭,您需要進行第一次調用以更新API Key以使用基本授權頭,如「Authorization:Basic {base64Encoded( 「用戶名:密碼」)}」。相當複雜,現在很難處理。聽起來好像他們會在幾周內推出一個更新的UI,所以我們都可以在將來避免這個小問題。