2015-02-13 29 views
10

Tôi đang cố gắng sử dụng API REST JIRA với PHP. Khi tôi sao chép url dưới đây và dán nó thẳng vào trình duyệt, nó hoạt động tốt. Vấn đề kết quả được trả về là json.Trái phép (401) khi tôi cố gắng truy cập API REST JIRA với PHP

Nhưng với mã bên dưới, nó không hoạt động. Tôi nhận được trái phép (401) như một thông điệp trả lại. Có, tôi đã kiểm tra và kiểm tra kỹ xem thông tin đăng nhập có hợp lệ không. Đây là mã của tôi:

$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; 

Bất kỳ ý tưởng nào?

Trả lời

23

Giải pháp: Sử dụng tên đăng nhập và không gửi email khi cung cấp thông tin.

Hóa ra, ngay cả khi bạn đăng nhập với email của bạn trong JIRA, nó không phải là email mà bạn đã sử dụng ở đây, nhưng tên người dùng, có thể được tìm thấy trong Jira-> Settings-> Hồ sơ

+1

cung cấp tên người dùng đã làm lừa, cảm ơn! –

+1

Có, trong trường hợp của tôi tên người dùng chỉ là một phần trước @ (không phải là toàn bộ địa chỉ email), và sau đó nó ghi lại cho tôi ngay. –

+1

Shot này thật tuyệt, Tôi đã bị lừa trong một hoặc hai giây –

-1

Cố gắng xóa https:// một phần khỏi url.

Cố gắng thêm

curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
Các vấn đề liên quan