MCPcopy Index your code
hub / github.com/Twitter4J/Twitter4J

github.com/Twitter4J/Twitter4J @4.1.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 4.1.2 ↗ · + Follow
2,330 symbols 7,411 edges 312 files 1,022 documented · 44%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Twitter4J

#Twitter4J is a 100% pure Java library for the Twitter API with no extra dependency.

@t4j_news

Requirements

Java 8 or later

Dependency declaration

Add a dependency declaration to pom.xml, or build.gradle as follows:

Maven Central

Maven

<dependencies>
    <dependency>
        <groupId>org.twitter4j</groupId>
        <artifactId>twitter4j-core</artifactId>
        <version>4.1.2</version>
    </dependency>
</dependencies>

Gradle

dependencies {
    compile 'org.twitter4j:twitter4j-core:4.1.2'
}

Java modularity

requires org.twitter4j;

Getting started

Acquire an instance configured with twitter4j.properties, tweet "Hello Twitter API!".

twitter4j.properties

oauth.consumerKey=[consumer key]
oauth.consumerSecret=[consumer secret]
oauth.accessToken=[access token]
oauth.accessTokenSecret=[access token secret]

Main.java

import org.twitter4j.*;
public class Main {
  public static void main(String... args){
    Twitter twitter = Twitter.getInstance();
    twitter.v1().tweets().updateStatus("Hello Twitter API!");
  }
}

v1() returns TwitterV1 interface which provides various Twitter API V1.1 API resources. tweets() returns TweetsResources.

You can also get a builder object from newBuilder() method to configure the instance with code:

Main.java

import org.twitter4j.*;
public class Main {
  public static void main(String... args){
    var twitter = Twitter.newBuilder()
      .oAuthConsumer("consumer key", "consumer secret")
      .oAuthAccessToken("access token", "access token secret")
      .build();
    twitter.v1().tweets().updateStatus("Hello Twitter API!");
  }
}

License

Apache License Version 2.0

Java CI with Gradle

Extension points exported contracts — how you extend this code

Authorization (Interface)
An interface represents credentials. @author Yusuke Yamamoto - yusuke at mac.com [6 implementers]
twitter4j-core/src/main/java/twitter4j/Authorization.java
HashtagEntity (Interface)
A data interface representing one single Hashtag entity. @author Yusuke Yamamoto - yusuke at mac.com @since Twitter4J 2 [6 …
twitter4j-core/src/v1/java/twitter4j/v1/HashtagEntity.java
SymbolEntity (Interface)
@author Yusuke Yamamoto - yusuke at mac.com @since Twitter4J 3.0.4 [7 implementers]
twitter4j-core/src/v1/java/twitter4j/v1/SymbolEntity.java
StreamListener (Interface)
@author Yusuke Yamamoto - yusuke at mac.com @since Twitter4J 2.1.8 [11 implementers]
twitter4j-core/src/stream/java/twitter4j/v1/StreamListener.java
StatusListener (Interface)
@author Yusuke Yamamoto - yusuke at mac.com @since Twitter4J 2.0.4 [9 implementers]
twitter4j-core/src/stream/java/twitter4j/v1/StatusListener.java

Core symbols most depended-on inside this repo

v1
called by 322
twitter4j-core/src/main/java/twitter4j/Twitter.java
getRawJSON
called by 214
twitter4j-core/src/v1/java/twitter4j/TwitterObjectFactory.java
get
called by 146
twitter4j-core/src/json/java/twitter4j/JSONArray.java
get
called by 118
twitter4j-core/src/v1/java/twitter4j/APIResourceBase.java
length
called by 116
twitter4j-core/src/json/java/twitter4j/JSONArray.java
getMessage
called by 115
twitter4j-core/src/stream/java/twitter4j/v1/StallWarning.java
post
called by 80
twitter4j-core/src/v1/java/twitter4j/APIResourceBase.java
getInstance
called by 71
twitter4j-core/src/main/java/twitter4j/Twitter.java

Shape

Method 2,021
Class 234
Interface 65
Enum 10

Languages

Java100%

Modules by API surface

twitter4j-core/src/v1/java/twitter4j/UserJSONImpl.java68 symbols
twitter4j-core/src/v1/java/twitter4j/v1/User.java58 symbols
twitter4j-core/src/stream/java/twitter4j/StatusStreamBase.java47 symbols
twitter4j-core/src/v1/java/twitter4j/StatusJSONImpl.java45 symbols
twitter4j-core/src/json/java/twitter4j/JSONImplFactory.java39 symbols
twitter4j-core/src/v1/java/twitter4j/MediaEntityJSONImpl.java38 symbols
twitter4j-core/src/json/java/twitter4j/JSONObject.java38 symbols
twitter4j-core/src/main/java/twitter4j/Configuration.java35 symbols
twitter4j-core/src/v1/java/twitter4j/v1/Status.java30 symbols
twitter4j-core/src/stream/java/twitter4j/TwitterStreamImpl.java30 symbols
twitter4j-core/src/json/java/twitter4j/ObjectFactory.java29 symbols
twitter4j-core/src/json/java/twitter4j/JSONArray.java29 symbols

For agents

$ claude mcp add Twitter4J \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact