سؤال

كيف يمكنني الوصول إلى 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)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top