我正在添加通过一个简单的应用程序将待办事项发布到我的 Todist 列表的功能。目前,"error"=>"invalid_grant"
当我将代码交换为 access_token 时,我得到了响应。
我不确定在这种情况下“invalid_grant”到底指的是什么。我发现的其他答案似乎与各种 Google API 有关。Todoist API 文档没有提及它。
代币兑换的post请求是:
uri = URI('https://todoist.com/oauth/access_token')
result = Net::HTTP.post_form(uri, client_id: ENV['TODOIST_CLIENT_ID'], client_secret: ENV['TODOIST_CLIENT_SECRET'], code: params[:code])
json_body = JSON.parse(result.body) # <- prints error
非常感谢任何理解和解决此问题的帮助。
更新
阅读 Takahiko Kawasaki 的回答后,我已将请求更新为以下内容,但有相同的错误消息。
uri = URI('https://todoist.com/oauth/access_token')
data = {
:client_id => ENV['TODOIST_CLIENT_ID'],
:client_secret => ENV['TODOIST_CLIENT_SECRET'],
:code => params[:code],
:grant_type => 'authorization_code',
}
result = Net::HTTP.post_form(uri, data)
json_body = JSON.parse(result.body)