gpt4 book ai didi

Python - "client_id"丢失。怎么解决?

转载 作者:行者123 更新时间:2023-12-01 01:08:34 26 4
gpt4 key购买 nike

我一直在使用 LinkedIn api (OAuth 2),并且找到了一个示例来帮助测试它。我已严格按照教程进行操作,但由于某种原因,当我提供完整的重定向 URL(按照代码中的要求)时,出现错误:(invalid_request) 缺少必需的参数“client_id”.我不确定我做错了什么,但如果有人有任何想法,我很感激反馈。

在寻找解决方案时,我发现另一个人正在为此苦苦挣扎:"client_id" is missing when authenticate with LinkedIn

以下是示例中的代码:

Linkedin.py

from requests_oauthlib import OAuth2Session
from requests_oauthlib.compliance_fixes import linkedin_compliance_fix

# Credentials you get from registering a new application
client_id = SECRET
client_secret = SECRET

# OAuth endpoints given in the LinkedIn API documentation
authorization_base_url = 'https://www.linkedin.com/uas/oauth2/authorization'
token_url = 'https://www.linkedin.com/uas/oauth2/accessToken'

linkedin = OAuth2Session(client_id, redirect_uri='http://localhost:8000')
linkedin = linkedin_compliance_fix(linkedin)

# Redirect user to LinkedIn for authorization
authorization_url, state = linkedin.authorization_url(authorization_base_url)
print ('Please go here and authorize,', authorization_url)

# Get the authorization verifier code from the callback url
redirect_response = input('Paste the full redirect URL here:')

# Fetch the access token
linkedin.fetch_token(token_url, client_secret=client_secret,authorization_response=redirect_response)

# Fetch a protected resource, i.e. user profile
r = linkedin.get('https://api.linkedin.com/v1/people/~')
print (r.content)

链接到示例:https://requests-oauthlib.readthedocs.io/en/latest/examples/linkedin.html

附加说明:我使用的教程没有日期。我只能假设 API 教程中使用的链接是正确且最新的。

最佳答案

这个有点旧,但我想我应该分享一些需要对 oauth 请求文档站点中的 LinkedIn 示例进行的其他更改。

除了更新的链接之外,LinkedIn 似乎在用验证者代码交换 token 时期望请求正文中包含 client_id。我不太确定它在何处或何时被遗忘,但在深入研究 oauth-request 源代码后,我发现 fetch 方法有一个参数强制 client_id包含在请求正文 (include_client_id) 中,将其添加到 fetch 方法中应该可以使示例正常工作。

linkedin.fetch_token(token_url, client_secret=client_secret,
authorization_response=redirect_response,
include_client_id=True)

关于Python - "client_id"丢失。怎么解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55089266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com