Gatsbyの@sbardian/gatsby-source-amazon-wishlistでAmazonの欲しいものリストを取得する
「Gatsbyを使えばいろんなデータを取得してサイトに使える」とはいいますが、まさかこんなものまで取れるとは思いませんでした・・・ Install gatsby-config.js 親切なことに、複数登録できます。wis […]
広告ここから
広告ここまで
目次
「Gatsbyを使えばいろんなデータを取得してサイトに使える」とはいいますが、まさかこんなものまで取れるとは思いませんでした・・・
Install
yarn add @sbardian/gatsby-source-amazon-wishlist
gatsby-config.js
親切なことに、複数登録できます。wishlistUrl
は欲しいものリストをシェアする時のURLを入れればOKでした。
plugins: [
{
resolve: '@sbardian/gatsby-source-amazon-wishlist',
options: {
lists: [
{
owner: 'member1',
wishlistUrl: 'https://www.amazon.jp/hz/wishlist/ls/XXXXXXX'
},
{
owner: 'member2',
wishlistUrl: 'https://www.amazon.co.jp/hz/wishlist/ls/XXXXX'
}
]
},
},
GraphiQLでクエリを作る
filter
を使って、owner
ごとにデータをとることができます。外せば全てのリストがとれます。
query MyQuery {
allAmazonWishlistItem(filter: {owner: {eq: "member1"}}) {
edges {
node {
comment
image {
url
}
title
requested
purchased
priority
price
owner
url
features
id
}
}
}
}
取得できるデータ
おそらく欲しいものリストで表示されているコンテンツは一通り取れそうです。
{
"data": {
"allAmazonWishlistItem": {
"edges": [
{
"node": {
"comment": "",
"image": {
"url": "https://m.media-amazon.com/images/I/41BbB0ku0gL.SS135.jpg"
},
"title": "OTOKU 両面テープ 魔法テープ テープ 超強力 のり残らず 繰り返し はがせる 防水 強力 滑り止め 洗濯可能 多機能 多サイズ 家庭 オフィス 寮 学校 会社 工業用など (3cmx0.2cmx1m)",
"requested": 1,
"purchased": 0,
"priority": "中",
"price": "¥578",
"owner": "hide",
"url": "https://www.amazon.jp/dp/B07ZFCHR8X/?coliid=I3K63T61UXR6O1&colid=1UYH9PSDMB3FZ&psc=1&ref_=lv_vv_lig_dp_it",
"features": "サイズ : 幅3cmx厚さ0.2cmx長さ1m",
"id": "7646ec15-a40f-5156-bd7b-daa9add68e05"
}
},
ただ、画像については勝手に使うのはAmazonの規約的に怖いかなという印象はあります。
使い所
需要があるのかわからないですが、サイトに直接欲しいものリストを埋め込むことができます。
また、複数のリストがソースにできますので、例えば「スタッフ紹介ページにそれぞれの欲しいものリストを入れる」みたいなこともできそうです。