2015-10-28 14 views
8

Tôi đã cố gắng gửi yêu cầu này tới github api trong vài ngày qua, nhưng tiếc là phản hồi sẽ trở lại là "thông báo xấu"Thực hiện yêu cầu Đăng lên Github API để tạo sự cố không hoạt động

đây là đoạn mã chúng tôi đang gửi trong bài yêu cầu sử dụng https yêu cầu trong nút -

đây là bài dữ liệu

var issueData = JSON.stringify({ 
    "title":title, 
    "body":comment 
}); 

đây là tùy chọn nộp

var options = { 
    host: 'api.github.com', 
    path: '/repos/sohilpandya/katasohil/issues?access_token='+sessions.token, 
    headers: { 
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Firefox/24.0', 
    }, 
    method: 'POST' 
}; 

Đây là https yêu cầu

var requestaddIssue = https.request(options, function(responseFromIssues){ 
    responseFromIssues.setEncoding('utf8'); 
    responseFromIssues.on('data', function(chunk){ 
    console.log('>>>>chunk>>>>>',chunk); 
    issueBody += chunk; 
    }); 
    responseFromIssues.on('end',function(issueBody){ 
    console.log(issueBody); 
    }); 
}); 
requestaddIssue.write(issueData); 
requestaddIssue.end(); 

Tôi đã thử cách tiếp cận khác nơi token xác thực cho người sử dụng là trong tiêu đề như

'Authentication': 'OAuth '+ sessions.token (where we are storing token inside sessions) 

Nhưng phản ứng đoạn luôn dường như trở lại với sau đây trong nhật ký giao diện điều khiển.

{ 
"message": "Not Found", 
"documentation_url": "https://developer.github.com/v3/issues/#create-an-issue" 
} 

Tôi đã thử tương tự trong apigee và có vẻ như hoạt động tốt và trả về đúng câu trả lời. Hy vọng ai đó có thể tìm thấy lỗi nhỏ trong mã ở trên đang gây ra lỗi tin nhắn xấu này.

+0

Bạn đã nhận này để làm việc với bất kỳ yêu cầu khác? Ngoài ra, bạn đã cân nhắc sử dụng mô-đun để tạo các yêu cầu như [yêu cầu] (https://www.npmjs.com/package/request) hoặc thậm chí chỉ sử dụng [node-github] (https://github.com/mikedeboer/ node-github)? – grimurd

+0

@GrimurD Tôi đã nhận được nó làm việc với một yêu cầu nhận được để lấy một số dữ liệu người dùng. Thông thường tôi sử dụng mô-đun yêu cầu, nhưng cố gắng phá vỡ nó chỉ để tìm lỗi. –

+0

Bạn có thể đăng nhập yêu cầu gửi đi bằng cách sử dụng một cái gì đó như [fiddler] (http://www.telerik.com/fiddler) để đảm bảo yêu cầu có vẻ đúng. Phải có điều gì đó sai với yêu cầu kể từ khi bạn nhận được 404 trở lại. – grimurd

Trả lời

3

Ngoại trừ biến số issueBody không được xác định trong các đoạn mã bạn đã đăng, mã này là chính xác. Tôi đã thử nó bằng cách sử dụng personal access token.

Lỗi bạn nhận được xuất hiện vì bạn cần thêm scope với nguồn để mở các sự cố.

Tôi đã thử các phạm vi repopublic_repo và cả hai đều hoạt động. Lưu ý rằng repo có quyền truy cập vào các kho lưu trữ riêng tư. Ở đây bạn có thể thấy list of scopes.

Nếu bạn đang sử dụng OAuth, sau đó bạn bạn nên có một địa chỉ tìm kiếm như thế này:

https://github.com/login/oauth/authorize?client_id=<client-id>&scope=public_repo&redirect_uri=<redirect-uri>

+0

Xin cảm ơn! Dường như được woking sau khi thêm phạm vi. :) –

+0

@SohilPandya Bạn được chào đón! :) –

Các vấn đề liên quan