Python経由でmerchantos.comの残りのAPIに接続するために、いくつかのコードを処理しようとしています。
いくつかの調査により、次の urllib2 コードを使用して、GET アクセスを機能させることができました。
# NOTE: This api key has been made bogus
lcMOS_APIKey = '07203c82fab495xxxxxxxxxxxxxxxxxxxc2a499c'
# also bogus...
lcMOS_Acct = '98765'
lcBaseURL = 'https://api.merchantos.com/API/Account/' + lcMOS_Acct + '/'
# create a password manager
password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
password_mgr.add_password(None, lcBaseURL, lcMOS_APIKey, 'apikey')
# create "opener" (OpenerDirector instance)
handler = urllib2.HTTPBasicAuthHandler(password_mgr)
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
# use the opener to fetch a URL
#loReturn = opener.open(lcBaseURL + lcURLEnd)
loReturn = opener.open(lcBaseURL + 'Customer.xml?firstName=Alex')
lcResponse = loReturn.read()
したがって、上記はデータを正常に引き戻します。顧客レコードの XML を取得します。
ここで、メソッドを変更して、PUT (更新用) と POST (作成/新規用) を実行できるようにする必要があります。
MerchantOS の更新には、次のものが必要です。
UPDATE / HTTP PUT 既存のレコード/オブジェクトを更新するには、HTTP PUT リクエストを実行します。put/post データは、オブジェクトの更新を定義する XML ブロックである必要があります。たとえば、Item を更新するには、ブロックを使用して API/Account/1/Item/2 に PUT します (この例では、1 はアカウント番号、2 は itemID です)。
したがって、たとえば、顧客 ID = 2 を更新するために PUT を実行したい
XML ブロックへのデータ参照を提供します。
<Customer>
..contents omitted here...
</Customer>
そして、それをURLに向けます。
私がここで直面している問題は..
- メソッドを PUT に変更する場所/方法がわかりません
- データブロックを添付して投稿する方法を知っておく必要があります
それで、誰かが上記のコードを GET に適合させて PUT .. と POST (新しいレコードを作成するため) を作成する方法を教えてください。
この点に関してご支援いただきありがとうございます。
スコット。