我对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 Moved Permanently”,在ORCID网站上显示“此ORCID iD已被淘汰,如果未自动转发,请查看为更新的ORCID iD返回的位置”。但是我不确定应该怎么做:/ 目的只是为了获得记录,以便将某些信息发布到网站上并将其存储在cookie中。
我希望我能清楚一点。
非常感谢您的帮助,如果答案很明显,再次表示歉意...