**赏金5天后到期。回答这个问题可以获得+500声望奖励。卡恩修道院çada正在寻找一个可靠的答案。
我有一个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服务器发送tweet,已经同步了(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
3条答案
按热度按时间wvyml7n51#
您的代码看起来不错,权限是您在为其配置应用程序的问题中指出的适当权限
Read, Write, and Direct Messages
,并且您正在使用正确的oauth机制发布tweet。尽管如此,您还是获得了指示的错误,表明应用程序没有发布tweet的权限。
请尝试重置您的密钥,并使用获得的新凭据发出请求,也许这有助于解决问题。请参阅有关如何重新生成api密钥和令牌的相关文档。
再看看这个问题,我想会有帮助的。
如果它不起作用,并且问题中指出的权限是实际配置的,我的建议是你从头开始创建一个新的应用程序,并尝试用它发布你的tweet。
8i9zcol22#
从下面的回答来看,我认为您正在使用这个api。
由于存在如下错误消息,您需要创建一个具有读写权限的twitter应用程序。有关错误消息的详细信息,请检查此项。
只读应用程序无法发布。
这是关于应用程序权限的官方开发者文档。更改此项:
对此:
我希望,这已经足够清楚了。
e3bfsja23#
这里有一个链接
从下面的回答来看,我认为您正在使用这个api。
401:身份验证凭据(https://dev.twitter.com/pages/auth)丢失或不正确。确保已设置有效的使用者密钥/密码、访问令牌/密码,并且系统时钟同步。{”request“:/1.1/media/upload.json”,“error”:“只读应用程序无法发布。”}由于出现如下错误消息,您需要创建一个具有读写权限的twitter应用程序。有关错误消息的详细信息,请检查此项。
只读应用程序无法发布。
这是关于应用程序权限的官方开发者文档。将此:只读应用程序更改为此:读写应用程序
我希望,这已经足够清楚了。