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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了状态更新中不允许使用星号(*)相关的知识,希望对你有一定的参考价值。

我正在尝试使用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发送单个*作为状态更新 - 请参阅https://twitter.com/edent/status/664713007268823040

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

另一答案

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

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

以上是关于状态更新中不允许使用星号(*)的主要内容,如果未能解决你的问题,请参考以下文章

实时数据中的 Observables 更新在片段中不起作用

从子组件更新父状态在 reactjs 中不起作用

Javascript代码片段在drupal中不起作用

HTTP 状态 405 – Apache Tomcat 服务器中不允许的方法 [重复]

java代码在片段活动中不起作用

Visual Studio 自定义代码片段在方法定义的参数列表中不起作用