Несанкционировано (401), когда я пытаюсь получить доступ к JIRA REST API через PHP

Я пытаюсь использовать 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;

Есть идеи?

2 ответа

Решение

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

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

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

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

curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
Другие вопросы по тегам