最近,我刚刚通过在线[yahoo oauth 2.0指南为开发人员创建了一个雅虎应用程序,] [2]

我可以获得OAuth 2.0凭据,但在调用雅虎IM相关[API] [3]时遇到“unable_to_determine_oauth_type”oauth问题 . 为什么?

这是我的步骤:

  • curl -v https://api.login.yahoo.com/oauth2/request_auth -d 'client_id=[CLIENT-ID]&redirect_uri=oob&response_type=code&language=en-us'

  • 然后将我重定向到 https//login.yahoo.com/oa?.src=oauth2&.partner=&.pd=c%3DmZmAFpe.2e7WuWzcHD2ZPYQ-%26ockey%3Ddj0yJmk9Q1N4cldYYXdKYXhNJmQ9WVdrOWIyOXdXbG95TnpnbWNHbzlNQS0tJnM9Y29uc3VtZXJzZWNyZXQmeD0yOQ--&.intl=us&.lang=en-us&.done=https%3A%2F%2Fapi.login.yahoo.com%2Foauth2%2Frequest_auth%3F%26client_id%3Dd[CLIENT-ID]%26redirect_uri%3Doob%26response_type%3Dcode%26language%3Den-us%26crumb%3D

  • 通过在浏览器中关注它,我得到了代码: dpr5bnm

  • 我将客户端ID和秘密连接成一个由':'分隔的字符串,并转到base64编码(https://www.base64encode.org

  • 获取基本凭证: ZGoweUptazlRMU40Y2xkWVlYZEtZWG...ldOSGJ6bE5RUzB0Sm5NOVkyOXVjM1Z0WlhKelpXTnlaWFFtZUQweU9RLS06YjY3MmZlZDcwOGFhYmRjNDFiNGRmYmNlZmY3MzU1YmU2MmRhMWRkZQ==

  • 然后,调用get_token API

  • curl https//api.login.yahoo.com/oauth2/get_token -H "Content-Type: application/x-www-form-urlencoded" -H "Authorization: Basic ZGoweUptazlRMU40Y2xkWVlYZEtZ...YldOSGJ6bE5RUzB0Sm5NOVkyOXVjM1Z0WlhKelpXTnlaWFFtZUQweU9RLS06YjY3MmZlZDcwOGFhYmRjNDFiNGRmYmNlZmY3MzU1YmU2MmRhMWRkZQ==" -d "grant_type=authorization_code&redirect_uri=oob&code=dpr5bnm"

  • 获取json访问令牌响应:{“access_token”:“fiTeDQrBnQVB ... u5DGLu.M - ”,“token_type”:“bearer”,“expires_in”:3600,“refresh_token”:“AFaPK ... xDSwSZ.Ke4jffDDboSpO6fg2t” “xoauth_yahoo_guid”: “ZT3Y7L7 ... 5QJ7SAU5Q”}

  • 但是当我使用愿意使用会话管理API登记的令牌时:(OAuth 2.0 Bearer Authorization)

  • `curl -v http // developer.messenger.yahooapis.com / v1 / session -H“Content-type:application / json; charset = utf-8”-H“授权:Bearer B_YnLlibghNNJIW0HlaITp0mkcTFEovpF ... oJZuzUvjVDM0ko.QjT4io- “

  • 它显示以下错误: <yahoo:description>Please provide valid credentials. OAuth oauth_problem="unable_to_determine_oauth_type"</yahoo:description>

那么有谁知道为什么以及如何制作雅虎IM消息?