django - Linkedin-api 此资源在 v1 API 下不再可用

标签 django django-allauth linkedin-api

我正在使用 django 的 allauth 来通过 linkedin 进行身份验证,但是当我尝试进行身份验证时,它在 api 响应中返回“此资源在 v1 API 下不再可用” 以下是我对 django 应用程序的设置。

'SCOPE': [
            'w_share','r_emailaddress','r_basicprofile','rw_company_admin'
        ],
        'PROFILE_FIELDS': [
            'id',
            'first-name',
            'last-name',
            'email-address',
            'picture-url',
            'public-profile-url',
        ]

请指导我我做错了什么。

最佳答案

正如 @Antwane 替换提到的

access_token_url = 'https://api.linkedin.com/uas/oauth2/accessToken'
authorize_url = 'https://www.linkedin.com/uas/oauth2/authorization'

access_token_url = 'https://www.linkedin.com/oauth/v2/accessToken'
authorize_url = 'https://www.linkedin.com/oauth/v2/authorization'

并在范围内将 r_basicprofile 替换为 r_liteprofile。在 v2 中,他们将 r_basicprofile 替换为 r_liteprofile

现在要访问基本配置文件,您需要调用 https://api.linkedin.com/v2/me 而不是 https://api.linkedin.com/v1/人/~。与 v1 API 不同,您不会在配置文件 API 中获取电子邮件地址(简而言之,r_liteprofile 不包含电子邮件地址)。

在发出 API 请求时添加 header 字段 "X-RestLi-Protocol-Version":"2.0.0"

要访问电子邮件地址,您应该调用https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))

关于django - Linkedin-api 此资源在 v1 API 下不再可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51934326/

相关文章:

python - Django 休息框架。检索的工作原理

Linkedin API 无法创建事件

python - 改变 django-allauth render_authentication_error 行为

ios - 如果已登录 LinkedIn App,LinkedIn sdk iOS 会出错

c# - OAuth 2.0 重定向 URL 从哪里来?

django - 更新的 MEDIA_URL 未反射(reflect)在 ImageField url 中

django - 在Django Rest框架中处理请求 header 以获取 header 中传递的 key 并将其保存在用户表中?

python - 在 Django 中使用 Python ZipStream 获取损坏的 zip

django - AllAuth 安装

django - 如何使用 django allauth 手动创建 SocialApp?