我们可以仅针对创建了Twitter应用的用户发布到Twitter吗?

时间:2016-02-26 10:35:05

标签: java eclipse twitter oauth-2.0 twitter-oauth

在我的应用中,我应该为每个用户访问令牌吗?因为我能够使用Java将消息和图像发布到Twitter。但是,它仅发布到应用程序创建的帐户。如果我想发布到其他Twitter帐户,我该怎么办?

以下是代码:

package com.javapapers.java;

import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;

public class JavaTweet {

static String consumerKeyStr = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX";
static String consumerSecretStr = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX";
static String accessTokenStr = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX";
static String accessTokenSecretStr = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX";

public static void main(String[] args) {

    try {
        Twitter twitter = new TwitterFactory().getInstance();

        twitter.setOAuthConsumer(consumerKeyStr, consumerSecretStr);
        AccessToken accessToken = new AccessToken(accessTokenStr,
                accessTokenSecretStr);

        twitter.setOAuthAccessToken(accessToken);

        twitter.updateStatus("Post using Twitter4J Again");

        System.out.println("Successfully updated the status in Twitter.");
    } catch (TwitterException te) {
        te.printStackTrace();
    }
}
}

我应该怎么做才能将消息发布给使用其他用户登录的用户?

1 个答案:

答案 0 :(得分:0)

如果您正在制作网站,您将用户重定向到Twitter,他们授权您的应用,然后Twitter使用授权令牌重定向回您的网站,然后您使用该令牌调用REST API以获取访问权限令牌。这称为Authorization Code Grant flow (OAuth2 spec)3-legged authentication (Twitter)

有关其他用例,请参阅Obtaining access tokens (Twitter)