Javaバッチによる受注データ取り込みにつきまして
#1
2017/4/24 (月) 10:09
Javaバッチによる受注データ取り込みにつきまして
NE担当様
大変お世話になります。camと申します。
https://developer.next-engine.com/sdk
SDKについてのJAVA SDKマニュアルを参考に
Javaの受注データ取り込みのバッチ処理を作成しております。
■ 質問1
> NeApiClient
> インスタンス生成時にSDKの必須パラメータを指定します。バッチ(非同期)ではない場合は、必ずredirect_uriも指定して下さい
「バッチではない場合、redirect_uriも指定」とあるのですが
redirect_uriを指定しない場合のNeApiClientの生成方法があるのでしょうか。
どうしても見つけることができません。。
■ 質問2
> バッチ処理をする場合は、access_token及びrefresh_tokenのみ指定し、最後に認証した時の値を指定して下さい。詳細はSDKのソースを参照下さい
uidを取得してaccess_tokenの取得となると思うのですが
どのように記述するのかわかりません。サンプルなどはありますでしょうか。
```java
NeApiClient client = new NeApiClient(req, resp, clientId, clientSecret, redirectUri);
HashMap<String, Object> map = client.neLogin();
String uid = (String)map.get("uid"); // --> NullPointerException
```
RE:Javaバッチによる受注データ取り込みにつきまして
回答いたします。
■回答1
バッチでAPIを利用するには、利用されているアプリから予めアクセストークンとリフレッシュトークンを取得する必要があります。アプリ経由で取得したアクセストークンとリフレッシュトークンをDBなどに保存しバッチ実行時に保存したアクセストークンとリフレッシュトークン利用してAPIを実行してください。
アクセストークンは有効期限があるため、注意が必要になります
詳しくはFAQをご参照ください。
ネクストエンジンAPIはバッチ(コマンドライン)での利用は可能ですか?
https://developer.next-engine.com/faq
アクセストークンとリフレッシュトークン取得後は以下のようなコードでインスタンスを生成することが出来ます。
NeApiClient client = new NeApiClient(accessToken, refreshToken);
■ 回答2
各APIのレスポンス値に最新のアクセストークンとリフレッシュトークンが取得できます。
APIリファレンスをご覧ください。
参考ページ:https://developer.next-engine.com/api/api_v1_receiveorder_confirm/search
出力パラメータ[access_token][refresh_token]より取得できます。
RE:RE:Javaバッチによる受注データ取り込みにつきまして
NE担当様
ご回答ありがとうございます。
> ■回答1
> 予めアクセストークンとリフレッシュトークンを取得する
アクセストークン取得用に画面作成するものでしょうか。
もしくは "アプリ経由で取得"とは、管理画面から行えるものでしょうか。
>■ 回答2
>各APIのレスポンス値に最新のアクセストークンとリフレッシュトークンが取得できます。
了解しました。ありがとうございます。
RE:Javaバッチによる受注データ取り込みにつきまして
>アクセストークン取得用に画面作成するものでしょうか。
>もしくは "アプリ経由で取得"とは、管理画面から行えるものでしょうか。
はい、取得用に画面を作成する事になります。
uid・state取得APIでredirect_uriに作成した画面のuriを設定してリダイレクト先のGETパラメータでuid,stateを取得します。
uid・state取得APIの利用方法はこちら https://developer.next-engine.com/api/api_v1_sign_in
取得したuid,stateを利用してaccess_token取得APIでアクセストークンを取得します。
access_token取得APIの利用方法はこちら https://developer.next-engine.com/api/api_v1_neauth
RE:RE:Javaバッチによる受注データ取り込みにつきまして
ご回答ありがとうございます。
> 取得用に画面を作成する
了解しました。