2016-05-20 11 views
0

不足している過去の為替レートを入力しようとしています。私はクエリから抜け出して、欠落している値を持っていて、日付パラメータでJSON APIを反復して使用しています。しかし、それは失敗しているようです。私は下の画像を添付しました。 パラメータと繰り返しを使用したTalend Json API

ここはJson APIのパラメータです。プライバシー目的でアクセスキーを削除しました:

"https://apilayer.net/api/historical?access_key=cdfsdfsdf&Date="+((Date)globalMap.get("row9.d"))+"&currencies=CAD&source=GBP&format=1" 

私は間違っていますか?

+0

正確に何が間違っているのかを具体的に説明できますか?期待される成果は? – tobi6

+0

@ tobi6動作していません。接続に失敗し、結果を取得しません。 URLを正しく呼んでいるかどうかわかりません。どこでも私はこれを見て、どのようにURLを呼び出すことをお勧めしました。日付を定義してデータパラメータを送信することなく、うまく動作します。 – devista

答えて

0

を使用せずにDateStringに変換しています。通常の出力形式は、the docsに従ったyyyy-mm-ddです。これはあなたのAPIで動作するかもしれないし、そうでないかもしれません。依存します。つまり、API呼び出しで間違った日付形式が使用される可能性があります。

ので、2つのステップが示されます。

可視性

は最初tJavaRowのコードを生成することを忘れない値(を点検するためにあなたのGBPToCAD前に直接tJavaRowを追加します。 !)を追加し、次のように追加します。

System.out.println("https://apilayer.net/api/historical?access_key=cdfsdfsdf&Date="+((Date) globalMap.get("row9.d"))+"&currencies=CAD&source=GBP&format=1") 

を使用して、リクエストが実際にどのように見えるかを確認します。

変換

その後、私はあなたがSimpleDateFormatを追加する必要があるとします。それは次のようになります。

"https://apilayer.net/api/historical?access_key=cdfsdfsdf&Date=" + 
new SimpleDateFormat("yyyy_MM_dd").format((Date) globalMap.get("row9.d")) + 
"&currencies=CAD&source=GBP&format=1" 

ここでも、tJavaRowコンポーネント最初に出力をチェックし、あなたのAPIが期待するものは何でも形式にフォーマットを調整します。

すべてが設定されていれば、通話はうまくいくはずです。

関連する問題