状态更新中不允许使用星号(*)

问题描述 投票:2回答:2

我正在尝试使用Twitter v1.1 API端点:

POST:https://api.twitter.com/1.1/statuses/update.json?status=%2A

-要么-

POST:https://api.twitter.com/1.1/statuses/update.json?status= *

在看到有关URL编码(百分比编码)的一些建议后,我正在尝试使用%2A对星号(*)进行编码

其他字符编码可以正常工作。但是星号字符会导致以下错误:

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

您可以使用API​​控制台工具重现错误:

https://dev.twitter.com/rest/tools/console2

对于身份验证,我选择了Oauth 1选项。

api twitter utf-8 percent-encoding
2个回答
0
投票

可以通过API发送单个*作为状态更新 - 请参阅https://twitter.com/edent/status/664713007268823040

我怀疑您使用的库未正确计算OAuth签名。如果您向我们展示您使用的代码以及您依赖的库,这将有所帮助。


0
投票

只需用星号*替换星号即可。这对我来说非常有用

String tweet_text="Tweet text with asterisk *"; tweet_text= tweet_text.replaceAll("[*]","*");

© www.soinside.com 2019 - 2024. All rights reserved.