curl — неавторизован (401) при попытке получить доступ к JIRA REST API с переполнением стека

Я пытаюсь использовать JIRA REST API с PHP. Когда я копирую URL ниже и вставляю его прямо в браузер, он работает нормально. Возникшая проблема возвращается как json.

Но с кодом ниже это не работает. Я получаю Несанкционированный (401) как ответное сообщение. Да, я проверил и дважды проверил, что учетные данные действительны. Это мой код:

$username = 'username';
$password = 'psw';
$url = "https://mycompany.atlassian.net/rest/api/2/issue/XXX-123";

$curl = curl_init();
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);

$result = curl_exec($curl);
echo $result;

Есть идеи?

11

Решение

Решение: используйте имя пользователя, а не электронную почту при предоставлении учетных данных.

Оказывается, даже если вы войдете со своей электронной почтой в JIRA, здесь будет использоваться не электронная почта, а имя пользователя, которое можно найти в Jira-> Settings-> Profile.

23

Другие решения

Попробуй удалить https:// часть из URL.

Попробуй добавить

curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
-1

По вопросам рекламы [email protected]