Twitter API - 无法更新包含圆括号的状态
Twitter API - unable to update status containing round parenthesis
我正在尝试使用 Twitter API 使用访问令牌发推文。
当我将 API 用于 post 像 "Hey guys" 这样的状态时,它成功了,我可以在我的时间轴上看到推文,但是当我 post "Hey guys :)" 我得到以下回复:
{errors=[{code=32, message=Could not authenticate you.}]}
这里是成功的请求(发送"hey guys"):
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);
这是失败的请求(发送 "hey guys :)" ):
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 包含 posting 的示例,但我也可以 post 那个。
如果您对括号进行编码,就可以修复它。
status = status.replaceAll("\(","%28").replaceAll("\)","%29");
client.target("https://api.twitter.com/1.1/statuses/update.json")
.queryParam("status", status)
.request()
...
我正在尝试使用 Twitter API 使用访问令牌发推文。 当我将 API 用于 post 像 "Hey guys" 这样的状态时,它成功了,我可以在我的时间轴上看到推文,但是当我 post "Hey guys :)" 我得到以下回复:
{errors=[{code=32, message=Could not authenticate you.}]}
这里是成功的请求(发送"hey guys"):
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);
这是失败的请求(发送 "hey guys :)" ):
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 包含 posting 的示例,但我也可以 post 那个。
如果您对括号进行编码,就可以修复它。
status = status.replaceAll("\(","%28").replaceAll("\)","%29");
client.target("https://api.twitter.com/1.1/statuses/update.json")
.queryParam("status", status)
.request()
...