LoginSignup
0
2

More than 5 years have passed since last update.

YahooAPI yconnect 注文検索APIでの証明書について

Last updated at Posted at 2015-07-27

現在、YConnectServlet.javaを見本に、YahooID連携を行い、注文検索APIでデータを取得しています。

YahooID連携ボタンからログインを行い、注文検索APIによりデータは取得できていますが、12時間でリフレッシュトークンの有効期限が切れるため、
運用上問題があり、証明書を申請し4週間の間隔にしようとしております。

システムには、大きく分けて2プロセスがあり、
【1】.YahooID連携ボタンからログインを行いリフレッシュトークンを取得、データベースに保存
【2】.データベースに保存されているリフレッシュトークを使用し、アクセストークンを取得後、注文検索APIを動作させ情報の取得
を行っております。

証明書を申請し、ストアクリエイターProよりダウンロードを行い、ヘルプページ( http://developer.yahoo.co.jp/webapi/shopping/help.html )の
Javaの場合(サンプル) にある。
$ openssl pkcs12 -export -inkey "秘密鍵を指定" -in "証明書を指定" -out "出力ファイル名"
によりPKCS12のファイルを作成、サーバに配置を行い。サンプルプログラムを、リフレッシュトークンの取得前、 YConnectServlet.javaの場合
46行目の protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
のあとに記述し、コメントとなっている。
// SSL証明書チェック無効 ※Production環境では必ず有効にすること
// YConnectExplicit.disableSSLCheck();
をコメントをはずし有効にしました。

再度、YahooID連携ボタンからの実行を行い、注文検索のデータを取得できていることを確認
しかし、12時間後に【2】の動作を行うと注文検索APIの箇所で401エラーとなり取得できない状態となります。

【2】の動作で、リフレッシュトークンによりアクセストークンは取得できています。(証明書を必要としないAPIで使用するため取得できるのだと思っております。)
取得したアクセストークンを使用して、注文検索APIを呼ぶと401エラーとなります。
証明書の実装が正常に動作していないと判断しております。

そこで、幾つか質問なのですが

1.ヘルプページのサンプルコード(PKCS12ファイル読み込み)を記述する箇所は、リフレッシュトークンの取得時、アクセストークンの取得時、注文検索APIの実行時、どこに設定すればよいですか?
2.プロセスが2つに分かれておりますので、【1】と【2】それぞれで、サンプルコード(PKCS12ファイル読み込み)の記述が必要でしょうか?
3.YahooID連携ボタンの実行後、12時間後にしか結果がわかりませんが、実行後に確認する方法などありますでしょうか?
4.このプログラムを実行してOKが帰ってくれば証明書の確認は出来ているというような、サンプルコードはありますでしょうか?
5.証明書を使用する事の出来る3API、注文検索API、注文詳細API、注文内容変更APIの証明書を使用したフローやサンプルコードなどはありますでしょうか?

よろしくお願いいたします。

0
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2