1

このオブジェクトを期待するRuby https://zferral.com/api-docs/affiliate#aff-create-usage-exampleでこの API メソッドの呼び出しを実装しようとしています:

{  "affiliate" : {
    "email"           : "john@example.com",
    "send_user_email" : "1" }}

Httparty クラスを使用して、これを呼び出します。

result = self.class.post("/api/#{@apikey}/affiliate/create.xml", :body => {:affiliate => {:email => email}})

残念ながら、API から「メールが必要です」というメッセージが何度も送られてきます。json に切り替えようとしましたが、:body が :query などに変更されました...

アフィリエイト/作成メソッドを正しく呼び出す方法を教えてもらえますか?

ありがとうございました。

4

2 に答える 2

2

jsonを送信していますが、create.xmlに投稿しています--- Railsで、create.xmlに投稿すると、コンテンツタイプがxmlに自動設定されます

に投稿してみてください/api/#{@apikey}/affiliate/create.json

それがうまくいかない場合---HTTPartyが本当に気に入っているクラス設計に従っていますか?http://railstips.org/blog/archives/2008/07/29/it-s-an-httparty-and-everyone-is-invited/

于 2010-08-25T12:36:50.473 に答える
2

これが私の問題を修正した方法です:

    url = URI.parse('https://xxxx.zferral.com/api/xxx/affiliate/create.xml')
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    request = Net::HTTP::Post.new(url.path)
    request.body = "<?xml version='1.0' encoding='UTF-8'?><affiliate><email>#{email}</email><send_user_email>0</send_user_email></affiliate>"
    request.content_type = 'text/xml'
    response = http.request(request)
于 2010-08-26T10:03:46.560 に答える