0

Content API を使用して、マーチャント アカウントのデータ フィードにデータを挿入しようとしています。以下のコードを使用すると、「POST リクエストには Content-length ヘッダーが必要です。それが私たちが知っているすべてです。」エラーですが、コンテンツの長さを設定したので、本当に混乱しています。

私が持っている 1 つの理論は、これらの要求をどこに置くかわからないということです。私のマーチャント アカウント ID の下に、2 つのデータ フィードがあり、特定のデータ フィードに入力するように設定する方法がわかりません。

XML はここから盗まれます: https://developers.google.com/shopping-content/batch-operations

@feed = '<?xml version="1.0"?>
    <feed xmlns="http://www.w3.org/2005/Atom"
        xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/"
        xmlns:g="http://base.google.com/ns/1.0"
        xmlns:batch="http://schemas.google.com/gdata/batch">

    <entry xmlns="http://www.w3.org/2005/Atom"
        xmlns:sc="http://schemas.google.com/structuredcontent/2009"
        xmlns:scp="http://schemas.google.com/structuredcontent/2009/products"
        xmlns:app="http://www.w3.org/2007/app">
        <batch:operation type="INSERT"/>
        <title>Switch 1</title>
        <content type="text">A new item available...</content>
        <link rel="alternate" type="text/html" href="http://www.example.com/sku123"/>
        <sc:id>SKU123</sc:id>
        <sc:content_language>en</sc:content_language>
        <sc:target_country>US</sc:target_country>
        <scp:google_product_category>Electronics  &gt; Networking  &gt; Hubs  &amp;
        Switches</scp:google_product_category>
        <scp:condition>new</scp:condition>
        <scp:price unit="USD">25</scp:price>
        <scp:availability>in stock</scp:availability>
    </entry>


    <entry xmlns="http://www.w3.org/2005/Atom"
    xmlns:sc="http://schemas.google.com/structuredcontent/2009"
    xmlns:scp="http://schemas.google.com/structuredcontent/2009/products"
    xmlns:app="http://www.w3.org/2007/app">
      <batch:operation type="INSERT"/>
      <title>Switch 2</title>
      <content type="text">Another item available...</content>
      <link rel="alternate" type="text/html" href="http://www.example.com/sku124"/>
      <sc:id>SKU124</sc:id>
      <sc:content_language>en</sc:content_language>
      <sc:target_country>US</sc:target_country>
      <scp:google_product_category>Electronics  &gt; Networking  &gt; Hubs  &amp;
    Switches</scp:google_product_category>
      <scp:condition>new</scp:condition>
      <scp:price unit="USD">50</scp:price>
      <scp:availability>in stock</scp:availability>
     </entry>

    </feed>'


    http = HTTPClient.new
    @output = http.post('https://content.googleapis.com/content/v1/<myMerchantID>/items/products/schema/batch', {},"content"=> @feed, "Content-length"=>@feed.length.to_s, "GData-Version"=> "1", "Authorization" => "AuthSub token=myToken", "Content-Type"=> "application/atom+xml")
4

1 に答える 1

0

投稿前に認証していますか?

https://developers.google.com/shopping-content/getting-started/authentication

于 2014-05-22T15:09:24.850 に答える