使用 twitter4j 发布推文

问题描述

我有一个 twiiter 应用程序:

// 不记名令牌

// API 密钥

// API 密钥秘密

// 访问令牌:

// 访问令牌秘密:

Read,Write,and Direct Messages 权限

我使用 ConfigurationBuilder 类在 Java 中以编程方式配置 Twitter4J:

ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setDebugEnabled(true)
            .setOAuthConsumerKey("IX9qalH5azhSk61ZoFMiL83Jg")   // API key
            .setOAuthConsumerSecret("tidoT2GgVZE3B3txDb64tuinlv0wZHbKesX5bNIcjPWpxmcYcs") // API key secret
            .setOAuthAccessToken("1345093646195010258-goY3W4oyqSltGFSUNPwJy8pSjSmfI5") // Access token:
            .setOAuthAccessTokenSecret("ijkpYB8sacVcBdvKHOnh95Y3QRITzD3c4Uq8nUUMLTN8O"); //Access token secret:
    TwitterFactory tf = new TwitterFactory(cb.build());
    return tf.getInstance();

但是当我尝试发布时出现此错误:

401:Authentication credentials (https://dev.twitter.com/pages/auth) were missing or incorrect. Ensure that you have set valid consumer key/secret,access token/secret,and the system clock is in sync.
{"request":"\/1.1\/media\/upload.json","error":"Read-only application cannot POST."}

我从 Ubuntu 服务器发送推文,已经同步 (https://vitux.com/how-to-sync-system-time-with-internet-time-servers-on-ubuntu-20-04/)

root@localhost:~# timedatectl
               Local time: Wed 2021-01-06 08:03:11 UTC
           Universal time: Wed 2021-01-06 08:03:11 UTC
                 RTC time: Wed 2021-01-06 08:03:12    
                Time zone: Etc/UTC (UTC,+0000)       
System clock synchronized: yes                        
              NTP service: active                     
          RTC in local TZ: no 

解决方法

根据下面的回复,我认为您使用的是 this API

401:Authentication credentials (https://dev.twitter.com/pages/auth) were missing or incorrect. Ensure that you have set valid consumer key/secret,access token/secret,and the system clock is in sync.
{"request":"\/1.1\/media\/upload.json","error":"Read-only application cannot POST."}

由于有如下错误消息,您需要创建一个具有读写权限的 Twitter 应用程序。有关错误消息的更多详细信息,请check this

只读应用程序无法 POST。

这是关于 app permissions 的官方开发者文档。 改变这个: Read only app 对此: Read and write app

我希望,这已经足够清楚了。

,
401:Authentication credentials (https://dev.twitter.com/pages/auth) were missing or incorrect. Ensure that you have set valid consumer key/secret,"error":"Read-only application cannot POST."}

由于有如下错误消息,您需要创建一个具有读写权限的 Twitter 应用程序。有关错误消息的更多详细信息,请查看此内容。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...