【问题标题】:Signpost Oauth and post parameters路标 Oauth 和发布参数
【发布时间】:2013-10-11 16:56:41
【问题描述】:

我正在使用带有 google appengine (java) 的路标向 twitter 发送状态更新。

OAuthConsumer consumer = new DefaultOAuthConsumer("AAA",
            "BBB");
consumer.setTokenWithSecret("CCC", "DDD");

URL url = new URL("http://api.twitter.com/1.1/statuses/update.json?status=abc");
HttpURLConnection request;
request = (HttpURLConnection) url.openConnection();
consumer.sign(request);
request.setRequestMethod("POST");  

request.connect();
InputStream response = request.getInputStream();
int a = response.read();
while (a!=-1){
    resp.getOutputStream().write(a);
    a = response.read();
    }

您可以看到我将 post 参数像 get 请求一样放在 url 中,其他人提到这对他们有用,我也尝试像您应该做的那样将它们放在消息的正文中。但我总是得到 {"errors":[{"message":"Could not authenticate you","code":32}]}。我的令牌和秘密令牌都是正确的,但如果不是,我会得到一个不同的错误 {"errors":[{"message":"Invalid or expired token","code":89}]}。

我认为路标没有在整个身体(包括参数)上执行 oauth 过程,所以它给出了错误。

有什么想法吗?

【问题讨论】:

    标签: google-app-engine oauth signpost


    【解决方案1】:

    事实证明,路标对于应用引擎来说并不是一个很好的库。它中的一些错误阻止它在没有某些错误的情况下工作。 Scribe 是与 Appengine Java 一起使用的更好的 Oauth 工具。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      • 2015-10-30
      • 2017-07-12
      • 1970-01-01
      相关资源
      最近更新 更多