会社行きたくなかったんです。

自由になりたくて会社辞めました

Yahoo! ビジネス

バッチ処理におけるYahoo APIのアクセストークン リフレッシュトークンの処理のフロー

投稿日:

ヤフーの在庫参照APIを使って、アマゾンとヤフーショッピングストアの在庫を同期させるツールを作成します。

Yahoo APIのアクセストークンの仕組みがよくわからなったので、調べてみた結果を紹介します。

スポンサーリンク

24時間、ツールを稼働させて自動処理することになります。
開発言語は、VB.netです。
以下の図の「WEBへの導入」「SDKを使用しない場合」に該当します。

(画像引用元:https://developer.yahoo.co.jp/yconnect/)

なぜクライアントアプリケーションなのに「WEBへの導入」なのか?

ヤフーの説明を読んでいると、クライアントアプリケーションは、上の図の「iOS・Androidへの導入」に該当するのではないかと考えてしまいます。

「iOS・Androidへの導入」の場合、「Implicitフロー」で処理することになります。

アクセストークンは、3600秒で有効期限切れになり、Implicitフローだとリフレッシュトークンは発行されないので、1時間に一回、ヤフーにログインする必要があります。
ヤフーへのログインには人の操作によるパスワード入力が必須です。
そのため、実装するには1時間に一度、スクレイピングにより、ヤフーにログインすることになりますが、スクレイピングによるログインは控えるようにとYDNの担当者の方が言っています。

なので、バッチ処理のようなプログラムを動かす場合は、「Authorization Codeフロー」が適しています。

「Authorization Codeフロー」では、アクセストークン取得と同時に4週間の期限のリフレッシュトークンが発行されます。
このリフレッシュトークンによりアクセストークンを更新し続けることにより、4週間はヤフーにログインする必要がなくなります。

次回は、実際に VB.net でYahoo APIのアクセストークンを取得するコードを書いてみます。

 

-Yahoo!, ビジネス

Copyright© 自由になりたくて会社辞めました , 2018 AllRights Reserved Powered by AFFINGER4.