当前位置: 首页 > 知识库问答 >
问题:

Python请求带有令牌(oAuth2)FatSecret API的授权标头

姬俊远
2023-03-14

我正在尝试连接到FatSecret API。这是他们为oauth2授权提供的留档链接:https://platform.fatsecret.com/api/Default.aspx?screen=rapiauth2#using-token-api

我已经完成了第一步和第二步,现在我被困在第三步。我已经设法用“application/json”更新了标题,但我不确定我的调用是否包括我创建的令牌。我得到一个响应代码200,但随后出现一条错误消息:{error':{code:21,'message':“检测到无效的IP地址:'51.7.45.XX'”}}}

params = {
    'grant_type': 'client_credentials',
    'client_id': 'REMOVED',
    'client_secret': 'REMOVED',
    'scope': 'basic',
    'method' : 'foods.search',
    'search_expression' : 'toast',
    'format' : 'json',
}

api_url = 'https://platform.fatsecret.com/rest/server.api'


response = requests.post(api_url, headers={'content-type' : 'application/json', 'Authorization' : 'Bearer {}'.format(data['access_token'])}, params=params)

错误代码

共有2个答案

时浩波
2023-03-14

你必须登录你的fastsecret帐户,并在那里将你的本地IP列入白名单。一旦你添加你的IP进入白名单,大约需要1个小时才能获得批准。

这为我解决了问题。

鲜于意
2023-03-14
params = {
    'grant_type': 'client_credentials',
    'client_id': 'REMOVED',
    'client_secret': 'REMOVED',
    'scope': 'basic',
    'method' : 'foods.search',
    'search_expression' : 'toast',
    'format' : 'json'
}

api_url = 'https://platform.fatsecret.com/rest/server.api'


response = requests.post(api_url, headers={'Authorization' : f'Bearer {data["access_token"]}'}, json=params)

应该这样做

 类似资料:
  • 我使用springfox 2.9.2我有这样的api: 女巫来自身份验证服务器。我尝试在swagger中首次调用此服务器,并将其传递给像上面这样的控制器请求。所以我做 在Swagger ui上,授权调用成功返回了令牌,但它没有将令牌添加到请求头中。它会产生 如果我像这样设置令牌:

  • 试图让OAuth2谷歌登录工作,这是我的应用程序发出的原始请求: : : : : 这是回应: 状态: null 对此的帮助将不胜感激。我试图在我的应用程序中设置OAuth2支持的“用X登录”功能,已经让脸书和推特没有问题地工作,也想让谷歌工作,但如果我不能解决这个问题,我恐怕我将不得不放弃谷歌Auth。

  • 一旦我点击链接并输入用户名和密码,我就会在java jersey API中的配置回调url上获得回调。 我在回拨请求中得到以下详细信息。 这里我使用Scribe Java库进行OAuth身份验证

  • 我有一个请求URI和一个令牌。如果我使用: 等等,我得到一个200并查看相应的JSON数据。所以,我安装了请求,当我试图访问这个资源时,我得到了一个403,可能是因为我不知道传递该令牌的正确语法。有人能帮我弄清楚吗?这就是我所拥有的: 我已经试过了: 但这些都不管用。

  • 我正在尝试从这个 API 调用中创建“UUID”,我正在使用 axios 和 vue.js。这是我的源代码。 但不幸的是,我得到了 在'访问XMLHttpRequesthttps://www.uuidtools.com/api/generate/v1'从原点'http://localhost:8080'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access c