Django - API-интерфейс linkIn - ошибка клиента (410) - HTTPError at / complete / linkedin-oauth2 / - PullRequest
0 голосов
/ 07 мая 2019

Мне нужно получить некоторую информацию из профиля пользователя LinkedIn, чтобы заполнить существующие поля формы моего заявления. Поэтому я использую API LinkedIn (я создал приложение в linkedin и поддерживаю права client_Key, client_Secret, r_liteprofile и r_emailaddress). Теперь он предлагает мне войти в систему с помощью connectedIn и запрашивать разрешение «Разрешить» (все в порядке до этого приглашения), но на следующей странице я получаю сообщение об ошибке ниже, вместо того чтобы показывать файл json с информацией о пользователе.

""» Ошибка HTTP в / complete / linkedin-oauth2 /

410 Ошибка клиента: пропал URL: https://api.linkedin.com/v1/people/~:(first-name,id,last-name)?oauth2_access_token=AQVpVZCnhj2oLkzUvQytDU89kJUMm5yEIadV0BZMid3WVqPSVdOiJIePGIH7ZL7i3M5gppOlbUqpS68rDaaio56Y-nkC3Njpvf91v8WUPxQ8t-3uqJRzCC_MdrKUpntLalp24Eo2BMjpYIKeHGdxjFIlaMt9tszkIVHpPcZA2-dgbqOBrvt9-QE4P91bTXqBBkrtHEXg9F560OvltnQDgc0U1xwO-5yOT5LjlqAtvDJ_gMf3G8rZ9cdkayq4aP1CO-ljglGqlJb4uxorPRg7qPqqkNaAmQjXploM0KVQ6pK7nidP4zC2l7WW1aqg38GRDe8AM8jzaiIkg-SX3JfCJA28fT9H8A&format=json

"" "

Ниже мой код, я что-то пропустил .... Я новичок в Django Пожалуйста, помогите мне это исправить ??

Я пытался получить точный формат токена доступа, например {токен доступа: XXXXX, срок действия истекает в: XXX} с URL https://www.linkedin.com/oauth/v2/accessToken?grant_type=client_credentials&client_id=[my_client_ID]&client_secret=[my_client_secret] Я получил ответ ниже.

{"error": "access_denied", "error_description": "Это приложение не может создавать токены приложения"}

Как мне этого добиться ??

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'crispy_forms',
    'bootstrap4',
    'social_django',

]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'social_django.middleware.SocialAuthExceptionMiddleware',
]

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'social_django.context_processors.backends',
                'social_django.context_processors.login_redirect',
            ],
        },
    },
]

AUTHENTICATION_BACKENDS = (
    'social.backends.linkedin.LinkedinOAuth2',
    'django.contrib.auth.backends.ModelBackend',
)

SOCIAL_AUTH_LINKEDIN_OAUTH2_KEY = 'my_client_ID'
SOCIAL_AUTH_LINKEDIN_OAUTH2_SECRET = 'my_client_secret'

SOCIAL_AUTH_LINKEDIN_OAUTH2_SCOPE =  ['r_liteprofile']
SOCIAL_AUTH_LINKEDIN_OAUTH2_FIELD_SELECTORS = ['r_emailaddress']
SOCIAL_AUTH_LINKEDIN_OAUTH2_EXTRA_DATA = [('id', 'id'),
                               ('firstName', 'first_name'),
                               ('lastName', 'last_name'),
                                ('emailAddress', 'email_address')]

SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/home/'
SOCIAL_AUTH_LOGIN_URL = '/'

```[the error I'm getting][1]


  [1]: https://i.stack.imgur.com/ECS3N.png
...