Ошибка 301 при попытке получить запись ORCID - PullRequest
0 голосов
/ 25 апреля 2019

Я довольно плохо знаком с ORCID и запросом API, поэтому извините, если ответ на мою проблему очевиден. Я пытаюсь внедрить систему проверки подлинности ORCID на своем веб-сайте, но когда я должен был получить некоторую информацию о пользователе, который произвел проверку подлинности, я получил ошибку 301.

Я поставил кнопку входа на первой странице:


<button id="connect-orcid-button" onclick="openORCID()"><img id="orcid-id-icon" src="https://orcid.org/sites/default/files/images/orcid_24x24.png" width="24" height="24" alt="ORCID iD icon"/>Se connecter ou s'enregistrer avec un ORCID iD</button>

function openORCID() {
    var oauthWindow = window.open("http://orcid.org/oauth/authorize?client_id=[MyClientId]&response_type=code&scope=/authenticate&redirect_uri=http://localhost/MASA_openGuide/openGuide/portal.php", "_blank", "toolbar=yes, scrollbars=yes, width=500, height=600, top=500, left=500");
}

При нажатии, он работает хорошо, и я могу без проблем пройти проверку подлинности, и он отправляет меня на вторую страницу. Я установил на нем этот код, чтобы получить информацию благодаря токену:



    $code = $_GET["code"];
    echo $code;
    $lien = 'http://orcid.org/oauth/token';
    $header = array(
        'Accept' => 'application/json',
    );
    $postField = array(
        'url' => 'http://orcid.org/oauth/token',
        'client_id' => [myClientId],
        'client_secret' => [myClientSecret],
        'grant_type' => 'client_credentials',
        'scope' => '/read-public'
    );

    $curl = curl_init();

    curl_setopt($curl, CURLOPT_URL, $lien);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postField);

    $result = curl_exec($curl);

    curl_close($curl);

И затем я получаю сообщение об ошибке «301 Movem Permanently», на веб-сайте ORCID говорится, что «этот ORCID iD устарел в другом, смотрите расположение, возвращенное для обновленного ORCID iD, если вы не пересылаетесь автоматически». Но я не уверен, что я должен делать: / Цель состоит в том, чтобы получить запись, чтобы разместить часть этой информации на веб-сайте и сохранить ее в файле cookie.

Я надеюсь, что мне удалось прояснить ситуацию.

Большое спасибо за вашу помощь и еще раз извините, если ответ очевиден ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...