0

これまでにこれを行ったことがないので、誰かが XML (post/puts リクエスト) を処理する際のベスト プラクティスを示すリソースを指摘したり、例を示したりできるかどうか疑問に思っていました。

たとえば、連絡先を更新するために、いくつかの XML をGoogle 連絡先 APIにポスト バックしようとしています。

私が現在行っているのは、着信 XML をモデルに保存することです。編集機能はアプリ内で実行され、モデルに保存されます。すべてが更新されたら、更新された連絡先を XML 形式で API に戻します。現在、メールアドレスと個人名のみを更新しています

へのPUTSリクエストはどれですか

https://www.google.com/m8/feeds/contacts/userEmail/full/{contactId}

誰かがそれを行う方法の例を提供できますか?

返される XML は

PUT /m8/feeds/contacts/default/full/<var>contactId</var>
If-Match: <var>Etag</var>

<entry gd:etag='<var>Etag</var>'>
<id>http://www.google.com/m8/feeds/contacts/<var>userEmail</var>/base/<var>contactId</var></id>
<updated>2008-02-28T18:47:02.303Z</updated>
<category scheme='http://schemas.google.com/g/2005#kind'
term='http://schemas.google.com/contact/2008#contact'/>
<gd:name>
<gd:givenName>New</gd:givenName>
<gd:familyName>Name</gd:familyName>
<gd:fullName>New Name</gd:fullName>
</gd:name>
<content type='text'>Notes</content>
<link rel='http://schemas.google.com/contacts/2008/rel#photo' type='image/*'
href='https://www.google.com/m8/feeds/photos/media/<var>userEmail</var>/<var>contactId</var>'/>
 <link rel='self' type='application/atom+xml'
href='https://www.google.com/m8/feeds/contacts/<var>userEmail</var>/full/<var>contactId</var>'/>
<link rel='edit' type='application/atom+xml'
href='https://www.google.com/m8/feeds/contacts/<var>userEmail</var>/full/<var>contactId</var>'/>
<gd:phoneNumber rel='http://schemas.google.com/g/2005#other'
primary='true'>456-123-2133</gd:phoneNumber>
<gd:extendedProperty name='pet' value='hamster'/>
<gContact:groupMembershipInfo deleted='false'
href='http://www.google.com/m8/feeds/groups/<var>userEmail</var>/base/<var>groupId</var>'/>
</entry>
</pre>

どんなアドバイスでも大歓迎です

ありがとう

4

1 に答える 1

1

Google の連絡先 API については何も知りませんが、Rails での POST/PUT/GET は、Net::HTTPHTTPartyなどを使用すると非常に簡単です。

HTTParty では、次のようなものだと確信しています。

require 'httparty'
response = HTTParty.put("https://www.google.com/m8/feeds/contacts/userEmail/full/{contactId}",
             :body => { :xml => xml_data })
于 2013-04-05T13:25:53.017 に答える