2015-10-07 3 views
5

मैं प्रोग्रामिंग के लिए नया हूं, और एक परियोजना को लेने के लिए कहा गया था जहां मुझे वर्तमान पायथन कोड को बदलने की आवश्यकता है जिसे हम Ver 1 RESTful API से कनेक्ट करने के लिए उपयोग करते हैं। कंपनी ने एपीआई के अपने वेर 2 पर स्विच किया है और अब मूल उपयोगकर्ता नाम और पासवर्ड के बजाय प्रमाणीकरण के लिए आईडी और कुंजी की आवश्यकता है। पुराने कोड है कि वर 1 एपीआई के लिए काम किया इस तरह दिखता है:मैं बुनियादी प्रमाणीकरण उपयोगकर्ता नाम और पासवर्ड की बजाय चाबियों का उपयोग कर एक रीस्टफुल एपीआई में पाइथन से कैसे जुड़ूं?

import requests 
import simplejson as json 
import pprintpp as pprint 

#API_Ver1 Auth 
USER = 'username' 
PASS = 'password' 
url = 'https://somecompany.com/api/v1/groups' 
s = requests.Session() 
s.auth = (USER, PASS) 

r = json.loads(s.get(url).text) 
groups = r["data"] 

मैं एक टर्मिनल इस तरह एक cURL स्ट्रिंग का उपयोग के माध्यम से वर 2 एपीआई से कनेक्ट कर सकते हैं:

कर्ल -v -X प्राप्त - एच "एक्स-एबीसी-एपीआई-आईडी: xxxxx" -H "एक्स-एबीसी-एपीआई-कुंजी: nnnnnnnnnnnnnnnnnnnnnnn" -H "एक्स-डी-एपीआई-आईडी: एक्स" -एच "एक्स-डी-एपीआई-कुंजी: nnnnnnnnnnnnnnnnnnnnnnnn " " https://www.somecompany.com/api/v2/groups/ "

मैं खोज की है, लेकिन अजगर का उपयोग कर वर 2 API तक पहुंच को अनुमति देने के लिए cURL स्ट्रिंग से आईडी और कुंजी प्राप्त करने के लिए एक तरह से पता लगाने में असफल रहे हैं। इस कोड परिवर्तन के माध्यम से नोब को पाने में आपकी मदद करने के लिए धन्यवाद!

उत्तर

7

आप एक अनुरोध

headers = { 
    'X-ABC-API-ID': 'x-x-x-x-x', 
    'X-ABC-API-KEY': 'nnnnnnnnnnnnnnnnnnnnnnn', 
    'X-DE-API-ID': 'x', 
    'X-DE-API-KEY': 'nnnnnnnnnnnnnnnnnnnnnnnn' 
} 
r = requests.get('https://www.somecompany.com/api/v2/groups/', headers=headers) 
+0

धन्यवाद, एम.एन. को HTTP हेडर जोड़ सकते हैं! आपका जवाब एक आकर्षण की तरह काम किया! – wautry

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

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