当前位置: 首页 > 知识库问答 >
问题:

Twitter身份验证凭据

程举
2023-03-14

我对社交网络分析和twitter api是新手。我想收集关于特定主题的tweets。所以我写了下面的代码

package com;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;

import twitter4j.Query;
import twitter4j.QueryResult;
import twitter4j.Status;
import twitter4j.Tweet;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;

public class TwitterSearchAdvance {
    public static void main(String[] vishal) throws TwitterException,
            IOException {
        // List<Tweet> Data = new ArrayList<Tweet>();
        StringBuffer stringbuffer = new StringBuffer();
        Twitter twitter = new TwitterFactory().getInstance();

        for (int page = 0; page <= 4; page++) {
            Query query = new Query("Airtel");
            // query.setRpp(100); // 100 results per page

            QueryResult qr = twitter.search(query);
            List<Status> qrTweets = qr.getTweets();
            System.out.println("-------------------" + qrTweets.size());
            // break out if there are no more tweets

            for (Status t : qrTweets) {
                System.out.println(t.getCreatedAt() + ": " + t.getText());

                stringbuffer.append(t);
                stringbuffer.append("\n");
                BufferedWriter bw = new BufferedWriter(new FileWriter(new File(
                        "/home/vishal/FirstDocu.txt"), true));
                bw.write(stringbuffer.toString());
                bw.newLine();
                // bw.write(t.getCreatedAt() + ": " + t.getText());
                bw.close();

            }
        }
    }
}
Exception in thread "main" java.lang.IllegalStateException: Authentication credentials are missing. See http://twitter4j.org/configuration.html for the detail.
    at twitter4j.TwitterBaseImpl.ensureAuthorizationEnabled(TwitterBaseImpl.java:200)
    at twitter4j.TwitterImpl.get(TwitterImpl.java:1833)
    at twitter4j.TwitterImpl.search(TwitterImpl.java:282)
    at com.TwitterSearchAdvance.main(TwitterSearchAdvance.java:28)

在我的程序中,我需要在哪里提供凭据

谢谢

共有1个答案

董新觉
2023-03-14

向程序提供凭据的方法有很多:

  1. 属性文件
  2. ConfigurationBuilder类
  3. 系统属性
  4. 环境变量

所有详细信息和说明可在链接中找到

 类似资料:
  • 在本章中,我们将解释如何使用Twitter身份验证。 第1步 - 创建Twitter应用程序 您可以在此link上创建Twitter应用程序。 创建应用程序后,单击“ Keys and Access Tokens ,您可以在其中找到API Key和API Secret 。 您将在第2步中使用此功能。 第2步 - 启用Twitter身份验证 在Firebase信息中心的侧边菜单中,您需要点击Auth

  • 我正在尝试使用Apache Flume将推文保存到HDFS。我目前在Hadoop和Flume中使用Cloudera图像。我在Cloudera的博客上学习教程,但我无法连接到Twitter API。 我收到以下错误: 我已经将我的twitter API凭证复制到flume.conf中(我已经在光盘和web用户界面上进行了尝试)。我也曾试图重新生成它们,并复制那些新的,但这对我没有帮助。 我的pom。

  • 问题内容: 实用程序类中有一个静态方法,该方法将从URL下载文件。已经设置了身份验证器,以便如果需要用户名和密码,则可以检索凭据。问题是,只要凭据有效,来自第一个成功连接的凭据将用于每个连接后缀。这是一个问题,因为我们的代码是多用户的,并且由于没有为每个连接检查凭据,所以没有适当凭据的用户可能会下载文件。 这是我们正在使用的代码 第一次下载文件时,我只从getPasswordAuthenticat

  • 我试图在一个反应式Spring Boot应用程序中配置一个Spring Security性,该应用程序具有一个Vuejs前端,在未经身份验证时将用户重定向到外部OpenID提供程序(用于身份验证)。在用户通过OpenID提供程序进行身份验证并重定向回应用程序(前端)后,将根据OpenID提供程序的响应创建用户名密码身份验证令牌(身份验证),并手动进行身份验证。 但是,在执行此操作时,应用程序似乎无

  • 所以我正忙着为twitter开发一个应用程序,我希望人们使用PIN进行身份验证。(https://dev.twitter.com/oauth/pin-based). 要向人们显示PIN码,我需要使用以下命令:https://dev.twitter.com/oauth/reference/get/oauth/authorize 那里的例子说:https://api.twitter.com/oauth