我们可以 post 只为创建 Twitter 应用程序的用户使用 Twitter 吗?

Can we post to twitter only for user for which twitter app is created?

在我的应用程序中,我应该为每个用户访问令牌吗?因为我可以 post 使用 Java 向 Twitter 发送消息和图像。但是,它 post 仅适用于应用程序创建的帐户。如果我想post到其他推特账号,我该怎么办?

代码如下:

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();
    }
}
}

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

如果你正在制作一个网站,你将用户重定向到 Twitter,他们授权你的应用程序,然后 Twitter 使用授权令牌重定向回你的网站,然后你使用该令牌调用 REST API获取访问令牌。这叫做 Authorization Code Grant flow (OAuth2 spec) or 3-legged authentication (Twitter).

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