oauth - 为什么 Etrade API 返回缺少参数错误?

标签 oauth etrade-api

我已成功获取请求 token ,现在将其与我的消费者 key 结合使用来创建以下请求

https://us.etrade.com/e/etws/authorize?key=2fc *******c323d6&token=IIrs6BsIrGQ** ******duC60GAmLq8

其中星号已替换为我的消费者 key 和请求 token 。我将其作为 getAuthorizeURL 的参数,这将返回 ETWSException 并在终端读取中输出

错误 OAuthClientImpl - 缺少强制参数

我有 getAuthorizeURL 方法的两个必需参数,并且我确信它们的格式正确。谁能告诉我这里出了什么问题吗?

此外,如果有帮助的话,调用 getAuthorizeURL 会导致我的默认浏览器打开并将我带到上面输入的地址,但它会返回 404 错误。

最佳答案

如果您使用文档中的示例代码..它们缺少 1 部分。

(java)

client = OAuthClientImpl.getInstance(); // Instantiate IOAUthClient 
    request = new ClientRequest(); // Instantiate ClientRequest 
    request.setEnv(Environment.SANDBOX); // Use sandbox environment 

    request.setConsumerKey(oauth_consumer_key); //Set consumer key 
    request.setConsumerSecret(oauth_consumer_secret); // Set consumer secret 
    token= client.getRequestToken(request); // Get request-token object

    oauth_request_token = token.getToken(); // Get token string 
    oauth_request_token_secret = token.getSecret(); // Get token secret 

    request.setToken(oauth_request_token);
    request.setTokenSecret(oauth_request_token_secret);

    String authorizeURL = null; 
    authorizeURL = client.getAuthorizeUrl(request);

    URI uri = new URI(authorizeURL);

    Desktop desktop = Desktop.getDesktop(); 
    desktop.browse(uri);

文档示例忘记提及,您需要在调用 get AuthorizeUri 之前在请求对象上设置 token key / secret 。

request.setToken(oauth_request_token); request.setTokenSecret(oauth_request_token_secret);

关于oauth - 为什么 Etrade API 返回缺少参数错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21646555/

相关文章:

oauth - Google Identity Toolkit、Google OAuth、Firebase Auth 和 Google+ 登录有什么区别

c# - 如何使用 OAuth 连接到 Etrade API?

python - 用于期权链函数的 Pyetrade/Etrade API 只返回苹果的期权?

android - com.google.android.gms.auth.GoogleAuthException : Unknown

javascript - 在 Firefox WebExtension 中使用 OAuth 2.0

ios - 在 iOS/Node 应用程序中使用 google/twitter/linkedIn 身份验证

html - 为外部登录列表按钮提供图像

c# - E*Trade API 在获取访问 token 时经常返回 HTTP 401 Unauthorized,但并非总是如此

python - 在 Python 中从 etrade 获取 oauth 请求 token