0

我一直在使用Twitter4J构建一个项目,问题是无论我尝试在哪里运行此代码,它总是使用我的 Twitter 帐户进行身份验证,最糟糕的是:它不进行身份验证。当我打开脚本时,它已经通过我的帐户进行了身份验证,而不要求我接受与否。这是我正在使用的代码:

ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
    .setOAuthConsumerKey("********")
    .setOAuthConsumerSecret("****************************************")
    .setOAuthAccessToken("***********************************************")
    .setOAuthAccessTokenSecret("***************************************");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();

我做错了什么以及如何纠正它?

4

2 回答 2

2

问题是无论我尝试在哪里运行此代码,它总是使用我的 Twitter 帐户进行身份验证

您必须使用 oAuth 从 twitter 进行身份验证。在 oAuth 中,如果您为 account_A 注册应用程序,那么您将无法使用 account_B 通过该应用程序登录。您应该请求 Twitter API 团队为您的应用程序提供 xAuth 访问权限.. 使用 xAuth,您可以使用任何用户名/密码使用您自己的应用程序登录 twitter..

如果您有任何问题,请告诉我。

-QamarZ

于 2011-07-19T10:52:46.570 回答
1

您是仅使用此代码进行身份验证还是进行其他 api 调用?

如果您需要对新用户进行身份验证,则无需设置访问令牌和令牌密码。它必须在那里只使用消费者的密钥/秘密(然后准备新的回调 url,重定向用户等)

当您从 twitter api 为指定用户(连接到此访问令牌)请求其他数据时,将使用访问令牌。

另外,请注意,twitter 身份验证会为您提供当前登录用户的凭据。我的意思是已经登录推特的用户。而且它只问他一次 - 当他第一次尝试进行身份验证时,第二次它将重用它。

于 2011-07-12T09:58:59.750 回答