如何使用ETrade API获取OptionQuote

时间:2017-02-09 22:22:04

标签: java etrade-api

我试图使用他们的Java SDK从Etrade获得选项报价。我目前正在设置使用沙箱。

这里是代码:

ProductId prod = callOption.getProduct();

ArrayList<String> symbols = new ArrayList<String>(); 
// getSymbol returns GOOG Jan 22 '11 $150 Call   
symbols.add(prod.getSymbol());

// m is a MarketClient instance
QuoteResponse quotes = m.getQuote(symbols, true, DetailFlag.OPTIONS);

当我调用m.getQuote时出现错误。错误是

ERROR ConnectionUtils - Invalid uri 'https://etwssandbox.etrade.com/market/sandbox/rest/quote/GOOG Jan 22 '11 $150 Call': escaped absolute path not valid

我尝试过使用html(org.apache.commons.lang.StringEscapeUtils.escapeHtml)逃避运气。

任何想法有什么不对?

1 个答案:

答案 0 :(得分:1)

这是因为你的网址中有特殊字符(空格和不存在)。

您可以使用URL编码器库。

您必须传入整个网址的字符串,这会为您提供一个已编码的网址。

sum(range(1,N)) == N*(N+1)/2

有关详细信息,请参阅文档https://docs.oracle.com/javase/7/docs/api/java/net/URLEncoder.html