以下接口请求如下:
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"}]}我转到设置->应用程序接口密钥,点击“编辑详细信息”查看授予我的应用程序接口密钥的权限,据我所知,我不能授予(或撤销)任何似乎与“用户配置文件”相关的权限。
为了安全起见,我已经将每个单独的权限配置为“完全访问”(当可用时)或“读取访问”,如果“完全访问”不可用,但我仍然收到此HTTP 403错误。
为了能够检索我的用户配置文件,我需要向我的API密钥授予什么权限?
发布于 2019-09-21 11:23:45
旧版API不起作用。使用新的接口
我不知道它是否解析到某人,但我尝试使用此文档添加一个联系人到sendgrid,得到{"errors":{"field":null,"message":"access forbidden"}}:
POST POST https://api.sendgrid.com/v3/contactdb/recipients HTTP/1.1经过更多的搜索,我注意到了一个新的文档(相同版本的API v3),但使用了非常不同的API方法:
https://sendgrid.api-docs.io/v3.0/contacts/add-or-update-a-contact
PUT https://api.sendgrid.com/v3/marketing/contacts发布于 2016-08-05 04:38:11
我深入研究了这一点,并亲自尝试了各种方法。
您不能通过网站UI设置此操作的权限。您必须进行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 Key修改API Key,除非该key已经拥有"api_keys.update“的权限/范围。这意味着你发现自己陷入了第22条军规。您不需要使用" authorization : need { API }“授权头,而是需要使用”authorization : basic {base64Encoded("username:password")}“这样的基本授权头进行第一次调用,以更新API键以获得该作用域。相当令人费解,现在处理起来很痛苦。听起来他们可能会在几周内推出一个更新的UI,这样我们就可以在未来避免这种小问题了。
发布于 2019-06-19 17:59:00
该错误也是由于api密钥权限不足造成的。
要在api key中使用,只需:
Go to Settings > Api keys > Edit Api Key > User Account维奥拉!使用API Key作为身份验证,就像一个护身符。
curl --request GET \
--url https://api.sendgrid.com/v3/user/profile \
--header 'Authorization: Bearer API KEY'\
--header 'Content-Type: application/json'希望这能有所帮助:)
https://stackoverflow.com/questions/38613941
复制相似问题