gpt4 book ai didi

android - 整合推特 : why can’t I post status without having to authenticate?

转载 作者:行者123 更新时间:2023-11-29 21:41:47 25 4
gpt4 key购买 nike

我想向链接到我的应用程序的 Twitter 帐户发布一条简单的状态消息。我的应用程序的所有用户都将发布到同一个 Twitter 帐户。

我已经在 Twitter 上注册了我的应用程序(根据此处提供的指南:How to post a tweet from an Android app to one specific account?)并且我拥有必要的 ConsumerKey、ConsumerSecret、AccessToken 和 AccessTokenSecret。我已将帐户设置为读写,并将请求类型设置为 GET。

我正在使用 Twitter4J 并将 twitter4j-core-3.0.3.jar 安装到我的应用程序中。 list 文件具有所需的“android.permission.INTERNET”。这是代码……::

AccessToken a = new AccessToken(AccessToken, AccessTokenSecret);
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(ConsumerKey, ConsumerSecret);
twitter.setOAuthAccessToken(a);

try
{
twitter.updateStatus("Tweet Test #1");
Log.v(TAG, "Twitter Tweet sent!");
}
catch (TwitterException e)
{
// TODO Auto-generated catch block
Log.e(TAG, "Error sending Tweet:" + e.getMessage());
}

twitter.updateStatus("xxxxxx") 调用导致在 logcat 中报告“收到的身份验证挑战为空”的异常。

我以为我可以发帖,但 Twitter 似乎想要更多东西?

任何人都可以就我做错了什么提供任何建议吗?

最佳答案

最终设法弄清了真相!

我的特殊问题是我没有在 Twitter 应用程序设置页面中输入回调 URL。我只对向我的应用程序关联的 Twitter 帐户发送推文感兴趣,并且我已经拥有 4 个 token / secret ,因此我不需要让用户通过我的应用程序授权他们自己的帐户。因此,我不需要回调 URL。

不幸的是,Twitter 应用程序页面允许您在请求 token / secret 时将该字段留空,并且他们没有明确说明回调 URL 是必填字段。如果你不需要它,你可以把任何你喜欢的东西放在那里;但是,如果您将其留空,Twitter 将不允许您从您的应用程序中发推文!将访问类型设置为“读取和写入”足以更新状态,但如果您想执行更多操作,请将其设置为“读取、写入和直接消息”。

一些教程说您应该将应用程序类型设置为“浏览器”(而不是“桌面”),但该选项似乎已从 Twitter 应用程序页面上消失,所以我想这不再重要。

我设法找到了一些关于从 Android 应用程序(herehere,特别是 here)发送推文的非常好的教程,这些教程清楚地表明回调 URL 是必需的,然后继续非常清楚地解释如何让它工作。

关于android - 整合推特 : why can’t I post status without having to authenticate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16872455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com