首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试获取用户配置文件API时,sendgrid出现“禁止访问”错误

尝试获取用户配置文件API时,sendgrid出现“禁止访问”错误
EN

Stack Overflow用户
提问于 2016-07-27 21:09:40
回答 10查看 19.3K关注 0票数 15

以下接口请求如下:

代码语言:javascript
运行
复制
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响应,正文如下:

代码语言:javascript
运行
复制
{"errors":[{"field":null,"message":"access forbidden"}]}

我转到设置->应用程序接口密钥,点击“编辑详细信息”查看授予我的应用程序接口密钥的权限,据我所知,我不能授予(或撤销)任何似乎与“用户配置文件”相关的权限。

为了安全起见,我已经将每个单独的权限配置为“完全访问”(当可用时)或“读取访问”,如果“完全访问”不可用,但我仍然收到此HTTP 403错误。

为了能够检索我的用户配置文件,我需要向我的API密钥授予什么权限?

EN

回答 10

Stack Overflow用户

发布于 2019-09-21 11:23:45

旧版API不起作用。使用新的接口

我不知道它是否解析到某人,但我尝试使用此文档添加一个联系人到sendgrid,得到{"errors":{"field":null,"message":"access forbidden"}}:

https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/contactdb.html#Add-Single-Recipient-POST

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
PUT https://api.sendgrid.com/v3/marketing/contacts
票数 22
EN

Stack Overflow用户

发布于 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,这样我们就可以在未来避免这种小问题了。

票数 11
EN

Stack Overflow用户

发布于 2019-06-19 17:59:00

该错误也是由于api密钥权限不足造成的。

https://sendgrid.com/docs/API_Reference/Web_API_v3/API_Keys/api_key_permissions_list.html#User-Settings

要在api key中使用,只需:

代码语言:javascript
运行
复制
Go to Settings > Api keys > Edit Api Key > User Account

维奥拉!使用API Key作为身份验证,就像一个护身符。

代码语言:javascript
运行
复制
curl --request GET \
 --url https://api.sendgrid.com/v3/user/profile \
 --header 'Authorization: Bearer API KEY'\
 --header 'Content-Type: application/json'

希望这能有所帮助:)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38613941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档