質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

5125閲覧

Yahoo Shopping APIで商品が登録できない

pandaful

総合スコア21

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2017/01/25 06:48

編集2017/01/25 07:51

Yahoo Shopping API で、テスト環境のお店に、商品を追加しようと思っています。
元々、Yahoo Shopping で公開されているサンプルを商品登録用に改変したものが下記です。

↓ご指摘に伴い、以下一文を追加しました。
マニュアルを読みましたが、基本的知識が不足している為か、修正ポイントがわかりませんでした。

public function main() { $api = 'https://test.circus.shopping.yahooapis.jp/ShoppingWebService/V1/editItem'; $appid = '<アプリケーションID>'; $params = array( 'seller_id'=>'<seller_id>', 'item_code'=>'12345-678', 'name'=>'テスト商品', 'path'=>'テストパス', 'price'=>'100', ); $ch = curl_init($api); curl_setopt_array($ch, array( CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_USERAGENT => "Yahoo AppID: $appid", CURLOPT_POSTFIELDS => http_build_query($params), )); $result = curl_exec($ch); curl_close($ch); echo htmlspecialchars( print_r(new \SimpleXMLElement($result), true) ); }

上記のソースを実行して、yahoo のテスト環境のお店に商品を出品しようとしていますが

SimpleXMLElement Object ( [Message] =&gt; Service Requires Authentication )

このような値が戻り、登録できません。
なにか足りないものなどありましたらご指摘願えればと思います。
宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/01/25 07:34

「Service Requires Authentication」=「サービスは認証を要求しています」とメッセージが出ているとおりでしょう。
pandaful

2017/01/25 07:52

ご指摘に伴い、一文を追加しました。
guest

回答1

0

ベストアンサー

認証が必要です。
マニュアルをきちんと読みましょう。

商品登録API

※こちらのAPIはYahoo! ID連携に対応したAPIです。
Yahoo! ID連携によるAPIアクセス方法の詳細は、以下のページをご確認ください。
Yahoo! ID連携
Yahoo! ID連携によるAPIアクセス実装方法

投稿2017/01/25 06:59

Y.H.

総合スコア7914

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pandaful

2017/01/25 07:15

ありがとうございます、助かりました。 と書きたいところですが、そうしてしまうと終わってしまうので、すみませんがあえてコメントします。 マニュアルには当然すべてが書かれているでしょう。それを読んでわからない人が質問できる場所だと思って質問したのですが、私の勘違いだったらすみません。ここはマニュアルに書かれていることはすべて網羅した上で解決できないレベルの人のみが参加できるサイトだったら私は場違いなので、退会します。
Y.H.

2017/01/25 07:31

「Service Requires Authentication」の原因について回答させていただきました。 「認証が必要です。」と。 > ここはマニュアルに書かれていることはすべて網羅した上で解決できないレベルの人のみが参加できるサイトだったら私は場違いなので、退会します。 提示させていただいた箇所は読まれてないと判断しましたので(その箇所が実装されてなく、現象もこれに起因するものでしたので) 解決に必要なことが詳細に記載されている公式サイトへのポインタを提示させていただきました。 すみません「マニュアルをきちんと読みましょう。」の一言が余計でしたね。
pandaful

2017/01/25 07:37

丁寧にありがとうございます。こちらも言葉足らずの質問ですいません。論理的な方のようで助かりました。 マニュアルの”どの部分”が実装されていないことに起因しているのか、可能であればですが、そのヒントを頂けないでしょうか?
Y.H.

2017/01/25 08:43 編集

> Yahoo! ID連携ではウェブAPIアクセスにおいてOAuth2.0 Bearer Token Usageをサポートしており、以下3とおりの方法によりアクセストークンを送信できます。 とあります。 ここで出てくるアクセストークンは http://developer.yahoo.co.jp/yconnect/server_app/php/#yconnectStep3 に記載されているようにYahoo!Japanへログインしてアクセストークンを取得する必要があります。 ここの回答では書ききれないですが、以下などが参考になると思います。 これで実装できるYahooショッピングのWebAPI(在庫編) http://reffect.co.jp/blog/post/yahoo-shopping-web-api
pandaful

2017/01/25 08:25

親切かつ、素早い回答をありがとうございます。 上記を参考に調べてみようと思います。大変助かりました! これで先へ進めます。
Y.H.

2017/01/25 08:31

OAuth2.0 のアクセストークンを取得するのは結構邪魔くさいのでめげずにがんばってください。
pandaful

2017/01/25 08:38

ありがとうございます・・がんばります汗。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問