Tip:
Highlight text to annotate it
X
DANNY HERMES: 皆さん
こんにちは
ウェブセミナーにようこそ 最新の商品データを提供する
方法について説明します
Danny Hermesです
私が所属するGoogleの コマースチーム
Developer Relationsでは
APIについての広報活動 ヘルプやフィードバックの提供
今回のようなウェブセミナーの 開催を
行っています
ご質問があれば チャットでお寄せください
Ali Afshar、Amanda Surya、 Jasmine Kahnが
チャットで 質問にお答えします
挙手オプションもありますが
チャットで質問してください
できるかぎりお答えします
では始めましょう
今日はContent APIについての 重要な質問に
答えたいと思います
Content APIとは何か
Googleの 最新データ提供ポリシーについてと
APIにどのように適用されるか
APIが適しているのはなぜか
APIとデータフィードを
比較して説明します
実装についても扱います
そしてAPIの使用方法です
スライドについて質問があれば
お答えしますので
チャットに入力してください
まずContent API for Shoppingとは 何か?
その前に Googleショッピングについて
ご説明しましょう
Googleショッピングに 商品を並べるには
Google Merchant Centerに アップロードします
商品データは Merchant Centerに保存され
ここからデスクトップの Googleショッピングに
送られます
他にもモバイルのGoogle Shopperや
Google Affiliate Network Google Commerce Searchなどの
チャネルに送られます
たとえばデジカメを3つ
販売するとします
販売者が Google Merchant Centerにアップロードし
ユーザーがGoogleにアクセスして
デジカメを検索します
3つのデジカメが 青で強調表示されています
あなたがアップロードしたカメラです
Googleショッピングに 商品を表示するには
商品を Google Merchant Centerに
アップロードする必要があります
方法は2通りです
1つはGoogle商品フィード もう1つは今から説明する
Content API for Shoppingです
Content API for Shoppingとは どのようなものでしょうか
お答えしましょう
これはHTTP、REST、GDataを ベースとする
APIであり
商品に関する あらゆるデータの
取得、送信、書き込み、削除を 行います
この4つが REST APIの動作です
これをgoogleapis.comにある
Googleのリソースに送信します
Googleからレスポンスが返ってきます 量は不定です
APIについて簡単に説明します
APIとは プログラムでGoogleのサーバーなどを
操作する手段です この場合の操作対象は
Google Merchant Centerです
2つのプログラムが 互いにやりとりするための
単なる手段です
一方データフィードとは
商品に関するあらゆる情報を 含むファイルです
Content APIで送信する リクエストとよく似ています
異なるのは 単純なテキストファイルや
XMLファイルを使用することです
これらのファイルには 特定の商品データを説明する
属性やエンティティを 記述します
そしてテキストファイルや XMLファイルを
Merchant Centerに 直接アップロードします
Content API for Shoppingの場合
あらゆるGoogleのショッピングサイトに 商品データをプログラムで
アップロードできます
またマーケットプレイスで 複数の販売者や
複数の店舗を 管理している場合は
サブアカウントを 管理できます
データフィードを 設定することもできます
Content APIとデータフィードを 組み合わせると
API経由で
データフィードを管理できます
データをアップロードしたら Google Merchant Centerの
ダッシュボードで パフォーマンスを確認したり
多くの項目を設定できます
ダッシュボードには 現在のフィードについての情報
アップロード済みの商品 データ品質
その他のパフォーマンス統計情報が 表示されます
APIを使うとクリックの追跡もできます
このリンクへリクエストを送信すると
詳しい説明は省きますが
開始日と終了日と商品を 指定すれば
その期間のクリックの 追跡結果が
返ってきます
Content APIには もう1つの特徴があります
最新データ提供ポリシーです
ユーザーがGoogle検索に アクセスして
商品を検索します スライドにあるように
商品が102ドルと表示されれば ユーザーはこの商品が
102ドルで買えると期待します
基本価格が合計価格と 異なる場合は
その差額も表示して
最終的に支払う金額が わかるように
する必要があります
Googleでは Googleショッピングの
3人の関係者に着目しています
まずはユーザーです
Googleではユーザーエクスペリエンスを 重視しています
探している物が見つかり
商品の正確な情報を 提供したいと
考えています
2番目は販売者です
Googleショッピングで
商品を販売する ユーザーにとっての
利便性も大事です
3番目はGoogle自身です
すべての関係者が 満足できるようにしたいのです
このことを念頭に置いて Googleの最新データ提供ポリシーを見ると
こう書かれています ユーザーは...
全文を読み上げるのは 止めておきましょう
ポリシーはこのスライドの 一番下にある
短いリンクからご覧いただけます
最新のデータの提供について 説明があります
ただし大事なのは 第一にユーザー
次に販売者、最後にGoogleです
さて、これがContent APIに どう関係するというのでしょうか
たとえば商品の価格や在庫数が 頻繁に変わる場合
Googleショッピングの 商品を更新して
変更を反映させたいと 考えます
フィードを使えば 1日に何度も
更新する必要があります
価格や在庫数の更新回数も
限られてきます
Content API for Shoppingを 使えば
価格が一瞬で更新され
変更が反映されます
扱っている商品の種類が多いと
毎日のメンテナンスやフィードの アップロードに
多大な労力が必要です
1つの膨大な在庫データを アップロードする代わりに
小さな更新をAPIで 処理するのです
Content APIを おすすめする理由は
先ほどのスライドで おわかりですね
違いをおおまかに 説明します
商品データフィードは
商品の種類が少なくて
変更があまりない場合に 適しています
テキストファイルやCSVファイルを 使うので
実装にそれほど労力は 必要ありません
一方商品が大量で 変化が激しい場合は
Content API for Shoppingが 適しています
ただし使用するには 開発作業が必要です
Content APIの大きな メリットは
リアルタイムであることです
新商品の挿入も
設定から数秒で
完了します
商品が登録されたかどうか
すぐにGoogleから レスポンスがあります
商品の価格や数量を 更新する場合も
余計な処理は 必要ありません
商品がMerchant Centerに アップロードされたら
ユーザーに提供する前に
確認作業が行われます
商品がアップロード済みであれば
価格や数量の更新は すぐに反映されます
ジェットコースター並みです
これはContent APIの 優れた機能です
価格や数量をあっという間に 更新できます
またContent APIは 自動化されています
APIからの フィードバックの形式は
送信したリクエストと まったく同じです
商品ごとに記述されるので
挿入、更新、削除する 商品ごとに
レスポンスが届きます
先ほども言いましたが レスポンスはすぐに返されます
リクエストを送るとすぐに
Googleからレスポンスが返され 更新が成功したかどうかが
わかります
一方フィードのフィードバックは メールで届きます
同じような形式で 商品ごとに記述されるのではなく
概要情報であることがほとんどです
次に実装面を比較します
商品フィードは 単純なCSVファイルか
テキストファイル 必要に応じてXMLファイルも
使用できます
とりわけ小規模ならば 開発作業は
不要です
Content APIには 少なくとも
XMLの実践的知識が 必要です
多少の開発スキルも
必要です
利便性やショッピングでの データの表示を改善するために
APIの仕様が更新されたり
その他の変更が 行われることもあり
その場合は
送信する情報の メンテナンスが必要です
Content APIにはあって
フィードにはない 優れた機能があります
複数の販売者を 取りまとめている場合や
複数の店舗がある場合に
サブアカウントを 管理できることです
データフィードも管理できるので 商品データ全体を
1つのデータフィードで アップロードしてから
Content APIで 細かい点を変更します
Content APIで 特定のデータフィードを
管理することもできます
もう1つの大きな特徴として 新商品の設定、既存商品の更新
商品の削除などすべてのリクエストを
1つのバッチリクエストで 送信できます
詳しくは実装の部分で説明します
次は使用方法と
実際の動作について説明します
これはXMLです
Googleに送信する商品に 関する情報を
記述したリクエストです
タイトルがあり その上に多少の記述があり
その他にも実行に必要な
記述があります
商品、価格、状況に 関する内容です
商品を検索するときには これらすべての属性が
重要です
XMLについて 簡単に説明しましょう
XMLはマークアップ言語です
HTMLによく似た
構造化言語です
コンピュータが理解できるデータを 記述することが目的です
前のスライドは ごちゃごちゃしていて
読みにくいですね
コンピュータが理解できるように するためです
人にとっての読みやすさは
重視されません
これはXMLの一例です
メモを定義しています
Aliから私へと 書かれています
件名は「XML」 本文は「XML is the cat's meow!」
です
コンピュータが 理解できるように
データが構造化されています
商品に関する構造化データを 作成したら
送信します
「送信」はAPIの 4つの動作のうちの1つです
特定のリンクに送信します
送信の認証用に 認証トークンも必要です
トークンについては 別途ドキュメントがあります
データがGoogleに届いて 送信が成功すると
レスポンスが返されます
内容は
1行目はHTTPコードで
201は成功の意味です
下の方の項目にも 注目してください
挿入した商品の場所です
これは重要です
覚えておいてください
この場所は挿入した 商品の固有のURLです
このURLのルートは
content.googleap.com/content/v1で
販売者ID
パスに続いて プロジェクションがあります
これもAPIに関する記述です
最後にとても重要なものがあります
商品IDです
この商品IDは 挿入した商品に
固有のIDです
商品を在庫に 挿入した後は
このリンクを使って戻って
商品の更新や削除を 行うことができます
この201レスポンスが届いた場合 この場所を指定すると
レスポンスも 確認できます
Googleからの レスポンスは
リクエストとまったく 同じ形式です
これはレスポンスの例です
ほとんど同じで タイトル、コンテンツ、IDがあります
公開や編集の 記述もあります
これらはGoogleからのもので アップロードの日時
商品の最終編集日時、 送信日時、有効期限を
表します
有効期限はデフォルトで30日間です
これを実装する 具体的な作業に入る前に
インタラクティブな オンラインデモを
ご紹介します
Content API for Shoppingを Googleで検索すれば
これが出てきます
このデモで実際に すべての操作を行えます
新商品の挿入や 既存商品の更新
商品の削除 サブアカウントの管理
これらすべてを使いやすい オンラインインターフェースから
API経由で行うことができます
リクエストを送信すると 実際に返されるような
レスポンスが返され HTTPステータスのレスポンスと
その内容を確認できます
APIで受け取るのと まったく同じです
実装する際には
.net、Java、Python、phpの 4つの
オープンソースクライアントライブラリを 利用できます
IDリンクなど細かい部分は
これらのライブラリによって 抽象化されます
覚えにくい文字列の 処理を
自分で実装する 必要はありません
クライアントライブラリは リクエストを作成したり
認証を受けたり APIでできるすべてのことを行うための
便利な手段です
開発には使い慣れた言語を 使用できます
これらのクライアントライブラリの 詳細は
このスライドの末尾のリンクを 参照してください
私自身や今回参加している Aliを含め何人かのデベロッパーが
これらのライブラリに 大きく関わってきました
これからも関わっていきます
多数のGoogleエンジニアも サポートしています
ですがオープンソースなので 皆さんもいつでも
ソースコードを見たり
アップデートを見たりできます
皆さんがアップデートを 送信することもできます
今回のゲストの何人かの方々が 実際に
ライブラリのバグ修正を
送信しています
アイデアを共有しましょう
前に述べたように Content APIの優れた機能の1つは
バッチリクエストの 送信です
スライドの図に 注目してください
商品と処理が 1つの送信リクエストにまとまっています
これはとても便利です
複数の商品と処理を 1つのリクエストにまとめることができるので
ある商品の削除と 他の商品の更新を
同時に行ったり
新商品の挿入と 別の商品の価格変更を
1つのバッチ処理で
同時に行えます
現在バッチ処理には 制限があります
各リクエストのサイズは 最大1MBです
ただしgzipやzipなどで
サイズを縮小できます
通常の挿入や 更新の場合と同様
レスポンスが返ってきます
送信したのと同じ形式で
商品ごとにエラーや成功の 情報が
含まれます
100の商品について 100のリクエストを送信するのではなく
1つのリクエストを 送信するだけで済みます
リクエストの量も 節約できます
Content APIの 便利な実装機能を
紹介する前に
背景を説明しておきましょう
これを追加したときは フィード仕様の変更を保留にしていました
このことは皆さんの多くが ご存知かもしれません
そして 9月22日にフィードの仕様を変更しました
Googleショッピングの 利便性を
改善するためです
Content API経由で 送信していた一部のデータは
9月22日までは 有効でしたが
9月22日以降は 無効になりました
このためあらかじめ警告する 手段が必要でした
警告フラグは挿入や更新 状態や在庫の変更処理の
リクエストの送信先URLの 末尾に
追加するという
シンプルなものです
このリンクの末尾の
太字部分が そのフラグです
リクエストの末尾に フラグを付けると
レスポンスには 成功か失敗かに加えて
失敗になる可能性がある 特定の項目についての
警告が追加されます
Googleが推奨する属性が 必須属性でない場合は
推奨の警告を示す
ことができます
警告フラグだけでなく
ドライランフラグも用意しています
ドライランはサンドボックスです
文字通り空運転を行います
実際にデータを 挿入しなくても
データを更新 変更するように
リクエストを送信できます
実際に変更する 必要はありません
実際には何も変化しない ことを除けば
実際のリクエストを送信して 受け取るのとまったく同じレスポンスが
返されます
インタラクティブなオンラインデモの 次のステップとして利用できます
動作は同じです
Merchant Centerの 商品データに
影響を与えずに 実装を試すことが
できます
一般的にも言えることですが とりわけ販売者の皆さんにとって
便利な点が もう1つあります
ERPシステムを 導入されている場合
商品を追加、挿入、 変更するたびに
ERPでの操作に プログラムで対処して
Content API for Shoppingを 呼び出して
Google Merchant Centerの
在庫を変更できます
ご自身の在庫管理システムと Google側の在庫管理システムの状態を
最新に保つことが できるのです
今日のセミナーが お役に立てば幸いです
導入に関心を お持ちの方のために
オンラインコミュニティがあります
これはGoogleグループです
Googleグループで Content API for Shoppingを検索すれば
見つけることができます
こちらにもURLを掲載しました
私自身や 他の多くのエンジニアも
このフォーラムに目を通しています
検索可能なので 以前に誰かが同じ質問をしていれば
検索して 答えを見つけることができますし
ご自身の実装経験をもとに
回答を寄せていただく こともできます
より専門的なサポートを 希望される場合は
アカウントマネージャーまでご連絡ください
他のオプションもご用意しています
一部のドキュメントは 私自身が担当し
最新情報をお知らせできるよう 努めています
ドキュメントについては 次のアドレスにアクセスしてください
code.google.com/ api/shopping/content
このURLをメモする 必要はありません
Googleで Content API for Shoppingを検索すれば
一番上に表示されます
最初の検索結果です
Q&Aではないフィードバックを 希望される場合は
11月3日の営業時間内に Google+ハングアウトに
ご参加ください
その後の詳しい情報も
お伝えできます
最後にこのウェブセミナーに関する ご意見・ご感想を
お待ちしています
goo.gl/7PjFAから このウェブセミナーに関する
ご意見・ご感想を
お寄せいただけます
他にもご不明な点があれば ご質問ください