我在为我的应用程序获取Twitter持有人令牌时面临一个问题。
虽然,我收到Twitter的成功回复,如下所述: " POST https://api.twitter.com/oauth2/token?grant_type=client_credentials返回的响应状态为200 OK"。
但是当我尝试使用下面的语句从响应中检索承载令牌时,我得到一个长队列的垃圾字符:
String str = response.getEntity(String.class);
除此之外,我还尝试了两种方法:
1)返回了getHeaders方法:
content-disposition=[attachment; filename=json.json]
因此,看起来该服务器正在附件文件中发回令牌,因此我将上述内容更改为:
File r_file = response.getEntity(File.class);
但是这个临时文件也只包含垃圾字符
2)我尝试使用Base64对这些字符进行解码,但即使这样也会丢失错误。
答案 0 :(得分:0)
您是用Java编写应用程序还是其他什么? 这是来自Twitter文档的link关于多种语言的示例
答案 1 :(得分:-1)
我遇到了同样的问题。
我试图从使用Volley库进行网络连接的Android客户端获取Bearer令牌。响应状态为200 OK
,但响应正文是一个字符串,充满了有趣的垃圾字符
我手动设置3个标题:
"Authorization": "Basic .....",
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
"Accept-Encoding": "gzip"
删除"Accept-Encoding"
标题后,一切正常。响应是预期格式良好的JSON:
{"token_type": "bearer", "access_token": "......."}