Twitter API和DotNetOpenAuth&HttpClient:错误"无法验证您"

 手机用户2502861713 发布于 2023-02-13 14:33

我正在尝试发布Twitter状态更新,但我无法使其正常运行.

var consumer = new TwitterConsumer(); // WebConsumer implementation
var httpClient = new HttpClient(consumer.CreateAuthorizingHandler("THE_TOKEN", new HttpClientHandler()));

var content = new FormUrlEncodedContent(new Dictionary
{
     {"status", "test"}
});

// yes, yes, ugly code, only testing here
var s = httpClient.PostAsync("https://api.twitter.com/1.1/statuses/update.json", content);
var t = s.Result;
var u = t.Content.ReadAsStringAsync().Result; // HTTP 401, response from Twitter is {"errors":[{"message":"Could not authenticate you","code":32}]}

当然,最初我认为我的auth令牌或OAuth流程存在一些问题,但所有其他事情都运行正常:

OAuth身份验证似乎有效,因为我可以访问其他API方法https://api.twitter.com/1.1/account/settings.json.

我甚至可以在status通过URI 提交时发布状态更新,例如POST https://api.twitter.com/1.1/statuses/update.json?status=test.当我尝试将status请求放入请求主体时,我只收到错误.

根据Google的说法,很多人都有类似的问题,不幸的是,建议的解决方案(比如content仔细检查url-encoding或-Request-Header)对我来说不起作用(请求在Fiddler看起来应该如此).

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有