gpt4 book ai didi

java - Twitter API - 无法更新包含圆括号的状态

转载 作者:行者123 更新时间:2023-12-01 11:45:04 24 4
gpt4 key购买 nike

我正在尝试使用 Twitter API 通过访问 token 发送推文。当我使用 API 发布“嘿伙计们”之类的状态时,它成功了,我可以在时间轴上看到该推文,但是当我发布“嘿伙计们:)”时,我得到以下响应:

{errors=[{code=32, message=Could not authenticate you.}]}

这是成功的请求(发送“嘿伙计”):

 client.target("https://api.twitter.com/1.1/statuses/update.json")
.queryParam("status", "hey%20guys")
.request()
.post(javax.ws.rs.client.Entity.text("sdfsdf"))
.readEntity(Object.class);

这是失败的请求(发送“嘿伙计:)”):

 client.target("https://api.twitter.com/1.1/statuses/update.json")
.queryParam("status", "hey%20guys%20%3A)")
.request()
.post(javax.ws.rs.client.Entity.text("sdfsdf"))
.readEntity(Object.class);

为了对文本进行编码,我使用了 http://meyerweb.com/eric/tools/dencoder/

为了使用 API 发送请求,我使用 javax.ws.rs.client.Client。

我还尝试在 Twitter API documentation 中找到任何引用资料对于这个问题,但没有找到任何相关内容。他们的 API 包含一个发布示例,但我也可以发布该示例。

最佳答案

如果你对括号进行编码,就可以解决这个问题。

status = status.replaceAll("\\(","%28").replaceAll("\\)","%29"); 

client.target("https://api.twitter.com/1.1/statuses/update.json")
.queryParam("status", status)
.request()
...

关于java - Twitter API - 无法更新包含圆括号的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29216507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com