Как получить значения из адресной строки страницы LinkedIn?

Рейтинг: 1Ответов: 1Опубликовано: 10.01.2023

Сделал верификацию через LinkedIn на своём сайте, используя react-linkedin-login-oauth2, теперь мне надо взять email пользователя из адресной строки или каким нибудь другим доступным путём, как мне это сделать?

Вот как сделана кнопка LinkendIn:

import React, { useState } from 'react';
import { useLinkedIn } from 'react-linkedin-login-oauth2';
import linkedin from 'react-linkedin-login-oauth2/assets/linkedin.png';

function LinkedInPage() {
  const { linkedInLogin } = useLinkedIn({
    clientId: '772g7w8l61n0ao',
    redirectUri: `${window.location.origin}/linkedin`,
    scope: 'r_liteprofile r_emailaddress' ,
    onSuccess: (code) => {
      console.log(code);
    },
    onError: (error) => {
      console.log(error);
    },
  });


  return (
    <img
      onClick={linkedInLogin}
      src={linkedin}
      alt="Sign in with Linked In"
      style={{ maxWidth: '180px', cursor: 'pointer' }}
    />
  );
}

export default LinkedInPage

Вот что в адресной строке https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=772g7w8l61n0ao&redirect_uri=https://example.com/linkedin&scope=r_liteprofile%20r_emailaddress&state=DGUw7vLfKRoj5YeoY30F

Вот слева кнопка, а справа окно которое появляется при нажатии, мне нужно взять email, если есть место куда всё это сохраняется?

введите сюда описание изображения

Ответы

▲ 0Принят

Чтобы получить query параметры у ссылки, можно воспользоваться new URL и его полем searchParams:

const url = new URL("https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=772g7w8l61n0ao&redirect_uri=https://example.com/linkedin&scope=r_liteprofile%20r_emailaddress&state=DGUw7vLfKRoj5YeoY30F");

const queryParams = url.searchParams;

for (const [key, value] of queryParams) {
  console.log(key, value);
}