问题标签 [etrade-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1340 浏览

api - ETrade API 无人值守认证

背景
ETrade 身份验证系统让我创建一个 RequestToken,然后执行一个授权 URL,这将打开一个 ETrade 页面。用户登录以授权其帐户上的活动。他们会收到一个密码,然后将其输入我的应用程序。我用 RequestToken 和 Pin 调用 ExchangeRequestTokenForAccessToken。然后我们就出发了。

问题
问题是我正在创建一个在后台连续运行的服务。不会有任何用户登录。相反,我不会进行任何交易。只是处理数字,寻找符合某些标准的股票。我不知道如何让它在无人看管的情况下工作。

谢谢,布拉德。

0 投票
1 回答
538 浏览

java - 如何使用 ETrade API 获取 OptionQuote

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

这是代码:

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

我尝试过使用 html (org.apache.commons.lang.StringEscapeUtils.escapeHtml) 转义但没有成功。

有什么想法有什么问题吗?

0 投票
1 回答
241 浏览

python - 使用 requests-oauthlib 修改授权 URL 格式

我正在使用requests-oauthlibETrade API 进行身份验证。它要求授权 URL 具有以下格式:

但是,当我调用 时authorization_url(),它使用oauth_token而不是token该参数。目前我正在使用format()自己格式化 URL,但现在我同时拥有tokenoauth_token参数。这有效,但完全不优雅。有什么方法可以修改authorization_url()允许我需要的 URL 格式的行为吗?

为了完整起见,这是我的代码:

0 投票
1 回答
1203 浏览

python - 使用 Python 为 ETrade API 生成 oauth_signature

E*Trade API 允许您使用 RESTful 登录网站并操作帐户或检索报价信息。虽然我无法生成与位于https://us.etrade.com/ctnt/dev-portal/getContent?contentId=306a9d46-58c2-4cac-85f6-7717aea056bd底部的“实践问题”相匹配的 oauth_signature

简单的 HMAC-SMA1 算法已在下面进行了编码,并从此处https://oauth.net/core/1.0a/#sig_base_example复制了 oauth core 1.0a 签名值。虽然我无法获得 E*Trade 签名值来重现。

该函数应该产生“%2FXiv96DzZabnUG2bzPZIH2RARHM%3D”,但我还没有。有没有人计算出 E*Trade API 的散列?

我知道 etradepy.py,它是一个不错的软件包,但有点过时,与当前的 E*Trade 网站不匹配。

0 投票
1 回答
1005 浏览

python - 使用 Python3 的 E*Trade API 的 get_quote 中的标头和 oauth

授权我的应用程序后,我通过标头传递 oauth 凭据来请求访问令牌。通过此代码生成签名和标头;

产生这些标题;

请求返回;

通过用新的 token_secret 替换旧的 token_secret 来更新密钥。基础字符串也使用新的令牌值以及新的时间戳和随机数进行更新。这些新值用于生成新签名。

将标题更改为;

并发出 get_quote 请求;

但是,不是引用,而是返回一个 oauth 问题。

我尝试在 url 中传递信息,但它返回相同的错误。请求中是否存在程序错误?是否应该在不更新签名的情况下使用新令牌?

(已更改张贴凭证以保护无辜者)

0 投票
2 回答
209 浏览

.net - 我得到的 signature_base 正确吗?

我现在可以正确登录并获得密码,所以我仍然将其视为进步。
有人可以检查我正在加密的字符串吗?
“错误请求”还有什么含义?

首先,我得到了
生成这个签名库 的 AccessToken

'GET&https%3A%2F%2Fetws.etrade.com%2Foauth%2Frequest_token&oauth_callback%3Doob%26oauth_consumer_key%3Dc5164d11e1a0a23901d75e7aa1993085%26oauth_nonce%3D565e334127934d65aa4375d0cd2770a1%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1502146468%26oauth_version%3D1.0'

然后它调用执行此行的 SignContext

生成此签名库

'GET&https%3A%2F%2Fetws.etrade.com%2Foauth%2Frequest_token&oauth_callback%3Doob%26oauth_consumer_key%3Dc5164d11e1a0a23901d75e7aa1993085%26oauth_nonce%3D565e334127934d65aa4375d0cd2770a1%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1502146468%26oauth_version%3D1.0'

然后它得到引脚。


然后它调用生成此签名库的 ExchangeRequestTokenForAccessToken

'GET&https%3A%2F%2Fetws.etrade.com%2Foauth%2Faccess_token&oauth_consumer_key%3Dc5164d11e1a0a23901d75e7aa1993085%26oauth_nonce%3De63bba497c24492ab0d60366526c781a%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1502146597%26oauth_token%3D6WHEWvcaVYx59bRxzic%252FXJGGYrz4TGdH5uvlfNCdkOY%253D%26oauth_verifier%3DNHD85%26oauth_version%3D1.0 '

然后它使用这个签名库再次对上下文进行签名

'GET&https%3A%2F%2Fetws.etrade.com%2Foauth%2Faccess_token&oauth_consumer_key%3Dc5164d11e1a0a23901d75e7aa1993085%26oauth_nonce%3De63bba497c24492ab0d60366526c781a%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1502146597%26oauth_token%3D6WHEWvcaVYx59bRxzic%252FXJGGYrz4TGdH5uvlfNCdkOY%253D%26oauth_verifier%3DNHD85%26oauth_version%3D1.0 '


然后我尝试使用此签名库 获取 A 的报价

'GET&https%3A%2F%2Fetws.etrade.com%2Fmarket%2Frest%2Fquote%2FA&detailFlag%3DALL%26oauth_consumer_key%3Dc5164d11e1a0a23901d75e7aa1993085%26oauth_nonce%3D4a3640c5fc5c40b490c475a2e6c0228e%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1502146666%26oauth_token%3D77vmxV1reXdgDJewWspVKmOduwdDsZGVvLfZBUtBSms%253D%26oauth_version%3D1 .0'

检索报价失败并返回:

8/7/2017 5:57:46 PM - Header Start 8/7/2017 5:58:18 PM - Authorization: OAuth
oauth_token='77xmvV1reXdgDJewWspVKmOduwdDsZGVvLfZUBtBSms%3D',oauth_nonce='4a3640c5fc5c40b490c475a2e6c0228e',oauth_consumer_key='c5164d11e1a0a23901d75e7aa1993085',oauth_signature_method ='HMAC-SHA1',oauth_timestamp='1502146666',oauth_version='1.0',oauth_signature='2OihTU%2BphJjPuvp82lR8Z2QhE24%3D' 2017 年 8 月 7 日下午 5:58:18 - 标题结束 2017 年 8 月 7 日 5:58 :18 PM - System.Net.WebException:远程服务器返回错误:(400)错误请求。在 System.Net.HttpWebRequest.GetResponse()
at EquityMetrics.Retrieve.ETradeModel.GetResponse(OAuthSession session, String url) in C:{path}\Model\ETradeModel.cs:line 94
8/7/2017 5:58:18 PM - 编译指示:
nnCoection:关闭传输编码:分块缓存控制:无缓存,无存储内容类型:应用程序/xml 日期:星期一,2017 年 8 月 7 日 22:58:18 GMT 服务器:Apache

0 投票
0 回答
588 浏览

python - ETrade OAuth 回调 URL

我正在编写一个针对 ETrade API 的应用程序。我正在按照本指南将我的应用程序授权给我的帐户。我可以成功获取请求令牌和授权 URL。目前,我打印 URL 并将其复制/粘贴到我的浏览器中。这需要将验证码复制/粘贴到我的应用程序中。我宁愿以编程方式打开 URL 并使用回调来接收此代码。

该应用程序旨在在本地运行,而不是从公共 Web 服务器运行。什么是合适的回调 URL?我可以使用127.0.0.1orlocalhost吗?如果是这样,我如何接收消费者密钥?我需要在localhostHTTP 服务器内部接受 HTTP 请求吗?

0 投票
1 回答
103 浏览

etrade-api - placechangeequityorder 导致“现有未结订单”错误

我使用https://etws.etrade.com/order/rest/placeequityorder成功向 E*Trade 提交了股票订单:

订单由 E*Trade 确认:

然后我尝试使用https://etws.etrade.com/order/rest/placechangeequityorder更新限价:

但是更改被拒绝

我尝试包括和不包括clientOrderId,它没有任何区别。我要疯了,因为同一代码在当天早些时候运行良好,然后就再也没有运行过。

如果您能够使用 E Trade API 提交对订单的更改,请告诉我。E Trade API 论坛似乎消失了 :(

0 投票
2 回答
2499 浏览

trading - 如何使用 E*Trade API 下 OCO 订单

是否可以从 E*Trade Equity API 放置 OCO(一个取消另一个)?

在这里,它在下达股票订单下列出了这些订单类型

https://us.etrade.com/ctnt/dev-portal/getDetail?contentId=99c70918-5477-486f-92a7-af93d21e8702

我没有看到一个取消其他。

但是,在 List Orders API 中,我看到了有关 OCO 订单的信息。

https://us.etrade.com/ctnt/dev-portal/getDetail?contentUri=V0_Documentation-OrderAPI-ListOrders

0 投票
0 回答
854 浏览

java - 获得(有效的)电子贸易API访问令牌后如何解决401?

我一直在关注 E*Trade 开发人员网站上过时且有限的文档,并在其他一些堆栈溢出帖子的帮助下。

我很确定我已经检索到了一个很好的访问令牌和秘密。我一直在关注他们的片段

我也尝试过:

在所有情况下,它都会返回一个 401 代码和一条消息<Error> message>Unauthorized request</message></Error>

这是电子贸易端的东西吗?或者我对他们的片段的实现?我已经联系了 E-Trade,但我想我会在这里发帖,希望能找到解决办法。