PR
私が使っているPCガジェット類
作業環境で実際に使っている・気になっている周辺機器などをまとめました
※ 一部のリンクは広告(アフィリエイト)を含みます
作業環境で実際に使っている・気になっている周辺機器などをまとめました
※ 一部のリンクは広告(アフィリエイト)を含みます
久々にeByaのAPIリファレンスを見に行ったらFinding API終了のお知らせがあったので共有と新しいBrowse APIなるもののお知らせがあったのでお知らせ半分、自分の予習半分でまとめました
作っちゃえば運用するだけのツールなんで久しく開いてなかったリファレンスページを開くと見慣れないメッセージがあったので早速翻訳した結果がコチラ
注: Finding APIのすべての呼び出しは非推奨になっており、2025 年 2 月 5 日に廃止される予定です。この API の代替として、高度な検索機能も備えたBrowse APIがあります。
https://developer.ebay.com/devzone/finding/callref/finditemsadvanced.html
いつの間に非推奨!?そして廃止予定!?
このFinding APIはセラーID等から商品一覧を取得できるfindItemsAdvance含まれていて、このfindItemsAdvanceは私がeBay関係で受注した案件でも番多く利用してきたのでなかなかの衝撃
私は自身eBayを利用していないのですが、過去発注いただいたクラインとから修正依頼あるかもしれないしこれからもeBayのツール作成を受注する可能性あるんで新しいBrowse APIを見ていきます
早速リファレンス画面へ
https://developer.ebay.com/api-docs/buy/browse/resources/methods
(なんとなく画面のテイストが変わった気がしますが)大きく分けてitem_summary、itemの2つににカテゴライズされてそれぞれ2つ、5つのAPIが準備されていますがその中でもよく使いそうなものをピックアップ
おそらくこれがfindItemsAdvanceの代替になる
キーワード検索の他、フィルターで抽出結果のフィルタリングとかできそうなのでこれを注視していく
Trading APIの方にあるGetItemの代替っぽい
Trading APIは特に終了のお知らせはないので継続利用しても問題ないと思うのですが、新しいBrowse APIに準備されているので今後は新しくツールを作らならコチラを使うようにした方が良さそう
ItemIDを指定すると商品の詳細が取得できるシンプルなAPI
getItemの簡易版を最大20個を同時に取得できる
どうせならgetItemで詳細情報収集した方がいい気もしますが 5,000回/1日 の制限があるのでこっちで必要情報が間に合うならこちらを推奨
本題のFinding APIが使えなくなった時の代替になるかの検証ですが、条件は今までの受注経験から”SellerIDベースで一覧取得できるか“で、結論から言うと
searchではSellerIDを条件に情報収集できません
正確には”SellerIDだけを条件に取得できない”なので近い条件では取得できる可能性はありますが指定したSellerIDの全商品の取得は2024年6月現在では確認できませんでした
とは言え、公式がBrowse API(item_summary)への移行を推奨しているので使い方のまとめと完全再現できないと判断した理由をまとめていきます
大きく分けて”request headers”と”Resource URI”の二つを設定してAPIを投げます
まずはrequest headersから
https://developer.ebay.com/api-docs/static/rest-request-components.html#headers
headers = {
'Accept': 'application/json',
'Accept-Charset': 'utf-8',
'Accept-Encoding': 'gzip',
'Accept-Language': 'en-US',
'Authorization': 'Bearer {accessToken}',
'Content-Type': 'application/json',
'Content-Language': 'en-US',
}findItemsAdvanceでは”App ID”を必要としていましたが、item_summaryでは”accessToken”が必要らしい
“accessToken”とは何と言われるとhttps://developer.ebay.com/my/keysから遷移した先にある”Get OAuth Application Token”で表示される画面びっしりの文字がトークンになるのでポップアップの最下部にある”Copy Token”でトークンをコピーすればそれがaccessTokenになる

念のため書いておくと”Bearer “の後ろにトークンを貼るのでAuthorizationだけ抜粋すると↓のような感じに
'Authorization': 'Bearer v^1.1#i^1#f^0#r^0#p^1#I^3#t^H4sIAAAAAAA・・・',その他は基本固定で良さそう
続いて各パラメータについて
https://developer.ebay.com/api-docs/buy/browse/resources/item_summary/methods/search#h2-input
resource_uri = R'https://api.ebay.com/buy/browse/v1/item_summary/search?'
uri_para = {
'q': <string>,
'gtin': <string>,
'charity_ids': <string>,
'fieldgroups': <string>,
'compatibility_filter': <CompatibilityFilter>,
'auto_correct': <string>,
'category_ids': <string>,
'filter': <FilterField>,
'sort': <SortField>,
'limit': <string>,
'offset': <string>,
'aspect_filter': <AspectFilter>,
'epid': <string>,
}
# 設定したクエリパラメータを追加する
resource_uri += urllib.parse.urlencode(uri_para)指定できるものは多いけど実際に必要そうなものは数える程度
注意点をいくつか抜粋
findItemsAdvancedでもitemFilterで制限していたので似たような制御のようで1.の必須パラメータが邪魔して全件取得ができないのがsearchの問題点
itemFilterをパラメータにしてもらえれば欲しい情報が取得できそうなラインナップなのが残念ポイントで、キーワードを設定した検索で良ければ取得できそうだけどそうじゃない感
eBayを利用した物販やっている人はfindItemsAdvanceを使って特定セラーの情報を収集するツールを使っているイメージなので2025年2月5日は衝撃の日になりそう
時間ができたらもう少しBrowse APIを調べてみたいです(需要ありそうだし)
PythonとExcelを中心に仕事に役立つ業務ツールや自動化、スクレイピングツールの作成を受注していて、クラウドワークスでは気が付けば100件以上のお仕事を受注してきました!
会社員をやりながらの副業なので時間の捻出は相応ですが、クライアントの方々と近い立場でこちらからも提案しながら活動していますのでお悩みあれば是非ご相談ください
VBAとPythonを中心にユーザー側でできるITを自己学習しているので備忘録半分、学習履歴を残して同じ道を辿る人の参考になればとブログを始めました
副業でスクレイピングツール作成を中心にできることを色々やっていますのでご相談いただけるとありがたいです!
クラウドワークスのページへ
ココナラのページへ
コメント