2015-10-07 15 views
5

Programlamada yeniyim ve Ver 1 RESTful API'sine bağlanmak için kullandığımız mevcut Python kodunu değiştirmem gereken bir projeyi devralmam istendi. Şirket, API'nin Ver 2'sine geçti ve artık temel kullanıcı adı ve şifre yerine kimlik doğrulama için Kimlikler ve Anahtarlar gerektiriyor. Ver 1 API için çalışmış eski kod şuna benzer:Temel kimlik doğrulama kullanıcı adı ve parola yerine Python ile RESTful API'ye nasıl bağlanırım?

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"] 

Böyle bir cURL dizesini kullanarak bir terminal aracılığıyla Ver 2 API bağlanabilir:

bukle -v -X GET - H "X-ABC-API-ID: xxxxx" -H "X-ABC-API-KEY: nnnnnnnnnnnnnnnnnnnnnnn" -H "X-DE-API-ID: x" -H "X-DE-API-TUŞU: nnnnnnnnnnnnnnnnnnnnnnnn" 'https://www.somecompany.com/api/v2/groups/'

Ben araştırdım ama Python kullanarak Ver 2 API erişim sağlamak için cURL dizesinden kimlikleri ve Keys almak için bir yol bulma konusunda başarısız olmuştur

. Noob'un bu kod değişikliğinden yararlanmasına yardımcı olduğunuz için teşekkür ederiz!

cevap

7

bir istek

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

sayesinde mn için HTTP başlıklarını ekleyebilirsiniz! Cevabınız cazibe gibi çalıştı! – wautry

İlgili konular