الوصول ناطحات السحاب API مع الثعبان ؟
سؤال
كيف يمكنني الوصول إلى 37 إشارات ناطحات السحاب API مع الثعبان ؟ وجدت مغلفة PHP/روبي ، ولكن ليس بيثون.أنا أكتب بلدي الآن أي شخص المشورة بشأن الحصول على أكثر من العقبة الأولى من المصادقة مع الثعبان ؟
المحلول
كتبت (أكتب حقا) ناطحات السحاب API المجمع بيثون.فإنه يستخدم الثعبان الكائنات لكل من ناطحات السحاب دروس و العمل الكثير مثل Django ORM:
>>> from pyrise import *
>>> Highrise.server('my-server')
>>> Highrise.auth('api-key-goes-here')
>>> p = Person()
>>> p.first_name = 'Joe'
>>> p.last_name = 'Schmoe'
>>> p.save()
يمكنك الحصول على مصدر من جيثب: https://github.com/feedmagnet/pyrise
أو تثبيته من PyPI:
$ sudo pip install pyrise
نصائح أخرى
كنت فقط معالجة هذه المشكلة عندما عثر على سؤالك.هنا هو ما كنت قد اخترق معا حتى الآن.ليست جميلة (حتى الآن) لكنه يعمل.أنا لا أعرف Pycurl وبعد النظر في ذلك حين عدت إلى urllib2.ناطحات السحاب يستخدم المصادقة الأساسية حتى لا تضطر إلى استخدام CURL يمكنك استخدام urllib2.عليك أن تذهب من خلال جميع Pword مدير الخطوات.الإخراج هو طويل ملف XML إما جميع الشركات أو الأشخاص اعتمادا على عنوان URL الذي إدراج.إذا أراد شخص واحد فقط يمكن أن تفعل شيئا مثل 'http....../people/123.xml' أو 'http....../people/123-fname-lname.xml' (كما ترون في عنوان url عندما تذهب في الواقع إلى جهة اتصال في ناطحات السحاب مع .وأضاف xml).
import ullib2
PEOPLEurl = 'http://yourcompany.highrisehq.com/people.xml' #get all the people
# or
COMPANYurl = 'http://yourcompany.highrisehq.com/company.xml' #get all companies
token = '12345abcd' #your token
password = 'X'
passmanager = urllib2.HTTPPasswordMgrWithDefaultRealm()
passmanager.add_password(None, PEOPLEurl, token, password)
authhandler = urllib2.HTTPBasicAuthHandler(passmanager)
opener = urllib2.build_opener(authhandler)
urllib2.install_opener(opener)
page = urllib2.urlopen(PEOPLEurl).read()
print page #this will dump out all the people contacts in highrise
أي ملاحظات أو اقتراحات على هذا مدونة المفيد!
انظر هنا على كيفية القيام المصادقة الأساسية.أيضا IIRC urllib يدعم http://user:password@example.com
عناوين url.
كنت فقط أبحث عن رمز php أحد php API مغلفة وأنا أرى أن استخدام حليقة ;هل نظرت إلى pycurl ??
عن مصادقة هنا هو مثال على ذلك يمكنك أن تبدأ مع (لم يتم)...
import pycurl
def on_receive(data):
# process your data here
pass
def connetion(url, token)
conn = pycurl.Curl()
# Set Token.
conn.setopt(pycurl.USERPWD, "%s:x" % (token,))
# the format TOKEN:x i get it from the PHP wrapper because usually the
# format should be USER:PASSWD so here i think they just use a token as
# a USERname and they set the password to 'x'.
conn.setopt(pycurl.URL, url)
# Set the XML data to POST data.
conn.setopt(pycurl.POSTFIELDS, XML_DATA)
# Add SSL.
conn.setopt(pycurl.SSL_VERIFYPEER, 0)
conn.setopt(pycurl.SSL_VERIFYHOST, 0)
# Set function that will be called as soon as the data is received.
conn.setopt(pycurl.WRITEFUNCTION, on_receive)
# Perform the data transfer.
conn.perform()
if __name__ == '__main__':
connection("http://yourcompany.highrisehq.com", your_token)