zoukankan      html  css  js  c++  java
  • 新浪OAuth网络登录,请求access_token时遇到21323的错误

    按照新浪给出的文档写了,但是遇到错误,总是获取不到token值,也是post方式提交的。

    查阅百度资料,发现有网友给出了解决办法,是因为

    文档中有这么一句提示:

    HTTP请求方式:POST

    这句话太简单了,你们想 要人家POST什么?让人认为所有的参数都要作为POST发送过去。可事实偏偏不是这样的, OAuth的服务端只要看到本次提交的行为是POST就行, 至于POST集合里面有没有数据,有些什么数据,它才不会管,所以,无论我们在POST里面添加了什么键|值、无论怎么切换顺序,都是错误的,因为它就没 有去读取。

    解决办法只有本着死马当活马医的态度: 乱搞!

    最终还是让我发现了----需要使用GET和POST的混合方式来提交

    提交的地址应该是:

    "https://api.weibo.com/oauth2/access_token?client_id={0}&client_secret={1}&grant_type=authorization_code&code={2}&redirect_uri={3}"

     

    请求方式:POST

    POST中的数据:空!

     0,1,2,3 对应你自己的参数值

    就是这样,终于正确获得token值,服务器只管你的method是POST就行了,你的实际参数都是在GET里面的。

    顺便提一下: 如果采用basic方式在http头中添加key和secret, 最后依然是大同小异的错误,只不过是提示变成了找不到你的redirect_uri参数。

    好了,解决思路说完了。

  • 相关阅读:
    jekyll+github搭建个人博客总结
    ES6-let命令
    Ajax-快速上手前后端交互
    第一次项目总结——校园博览会
    Python获取exe文件版本
    @JsonFormat与@DateTimeFormat注解的使用
    前后端时间转化
    左右flex布局
    fastjson将json字符串转化成map的五种方法
    RestTemplate 发送post请求
  • 原文地址:https://www.cnblogs.com/wangzhilei/p/6690700.html
Copyright © 2011-2022 走看看