2015-10-28 4 views
8

काम नहीं कर रहा है, मैं पिछले कुछ दिनों से इस पोस्ट अनुरोध को गितब एपीआई बनाने का प्रयास कर रहा हूं, लेकिन दुर्भाग्यवश प्रतिक्रिया "खराब संदेश" के रूप में वापस आ रही हैसमस्या बनाने के लिए गितब एपीआई को एक पोस्ट अनुरोध करना

यहाँ

कोड का टुकड़ा हम https का उपयोग कर पोस्ट अनुरोध में भेज रहे हैं है नोड में का अनुरोध -

यह वह जगह है पद डेटा

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

यह वह जगह है विकल्प फ़ाइल

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' 
}; 

यह HTTPS अनुरोध

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(); 

मैं एक दृष्टिकोण जहां उपयोगकर्ता के लिए प्रमाणीकरण टोकन

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

के रूप में शीर्षक में है लेकिन हिस्सा प्रतिक्रिया हमेशा के साथ वापस आ रहा है की कोशिश की है है कंसोल लॉग में निम्नलिखित।

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

मैंने एपीजी में ऐसा करने की कोशिश की है और ऐसा लगता है कि यह ठीक काम करता है और प्रतिक्रिया को सही करता है। किसी को उम्मीद है कि उपरोक्त कोड में मामूली त्रुटि मिल सकती है जो इस खराब संदेश त्रुटि का कारण बन रही है।

+0

आप इस मिल गया है किसी भी अन्य अनुरोध के साथ काम करने के लिए:

आप OAuth का उपयोग कर रहे हैं, तो आप आप एक यूआरएल इस तरह देख होना चाहिए? आपने अनुरोध [अनुरोध] (https://www.npmjs.com/package/request) जैसे अनुरोध बनाने के लिए मॉड्यूल का उपयोग करने पर भी विचार किया है या यहां तक ​​कि केवल [नोड-गीथूब] (https://github.com/mikedeboer/ नोड-गीथूब)? – grimurd

+0

@GrimurD मुझे कुछ उपयोगकर्ता डेटा पुनर्प्राप्त करने के अनुरोध के साथ काम मिल गया है। आम तौर पर मैं अनुरोध मॉड्यूल का उपयोग करता हूं, लेकिन बग को खोजने के लिए इसे तोड़ने की कोशिश करता हूं। –

+0

यह सुनिश्चित करने के लिए कि अनुरोध सही दिखता है, आपको शायद [fiddler] (http://www.telerik.com/fiddler) जैसे कुछ का उपयोग कर आउटगोइंग अनुरोध लॉग करना चाहिए। अनुरोध के साथ कुछ गलत होना चाहिए क्योंकि आपको 404 वापस मिल रहे हैं। – grimurd

उत्तर

3

issueBody को छोड़कर चर आपके द्वारा पोस्ट किए गए स्निपेट में परिभाषित नहीं किया गया है, कोड सही है। मैंने personal access token का उपयोग करके इसे आजमाया।

आपको जो त्रुटि मिलती है वह आपको दिखाई देती है क्योंकि आपको समस्याओं को खोलने के लिए scope जोड़ने की आवश्यकता है।

मैंने repo और public_repo स्कॉप्स की कोशिश की और वे दोनों काम कर रहे हैं। ध्यान दें कि repo में निजी भंडारों तक पहुंच है। यहां आप list of scopes देख सकते हैं।

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

+0

धन्यवाद! दायरा जोड़ने के बाद जागृत होना प्रतीत होता है। :) –

+0

@ सोहिल पांडिया आपका स्वागत है! :) –

संबंधित मुद्दे