Как получить адрес электронной почты, используя linkedin v2 api? - PullRequest
0 голосов
/ 09 мая 2018

Я не могу получить адрес электронной почты пользователя через api linkedin v2. Я добавил разрешение r_emailaddress в настройках приложения, а также в запросе токена доступа. Но это говорит.

{
"serviceErrorCode": 100,
"message": "Not enough permissions to access: GET-members /clientAwareMemberHandles",
"status": 403
}

URL моего запроса:

https://api.linkedin.com/v2/clientAwareMemberHandles?q=members&projection=(elements*(primary,type,handle~))&oauth2_access_token=".$token

Кто-нибудь, пожалуйста, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 16 апреля 2019

Вы можете получить доступ к адресу электронной почты пользователя linkedin с нижеприведенным EP:

`https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))`

Убедитесь, что вы определили область действия 'r_emailaddress' в своей библиотеке.

Вы можете использовать приведенный ниже запрос curl для извлечения данных:

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $Url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'Authorization: Bearer '. $token,
      'X-Restli-Protocol-Version: 2.0.0',
      'Accept: application/json',
      'Content-Type: application/json'
    ));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    $response = curl_exec($ch);
    $headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
    $body = substr($response, $headerSize);
    $response_body = json_decode($body,true);

$ response_body вернет следующий ответ:

Array (
    [elements] => Array
        (
            [0] => Array
                (
                    [handle] => urn:li:emailAddress:123456
                    [handle~] => Array
                        (
                            [emailAddress] => your@email.in
                        )

                )

        )

)
...