gpt4 book ai didi

javascript - 如何在rails中发送post请求并接收返回的json

转载 作者:行者123 更新时间:2023-11-28 10:02:48 25 4
gpt4 key购买 nike

我已经浏览了相当多的问题 - 但我仍然很困惑。

我正在制作一个与 Healthgraph API 连接的 Rails 应用程序(此处 http://developer.runkeeper.com/healthgraph/registration-authorization )。

我应该通过 Rails 发出 POST 请求 - 基于我收到的参数,然后收到 JSON。我尝试过 outh2、runkeeper 和其他 gem,但由于某种依赖性,它们不起作用。但是,我不知道如何通过 Rails 发布并收到回复。

我确实将代码返回到我的 Controller 中 - 但是,我仍然不知道如何获取访问 token 。

定义 rktest

respond_to

if params[:code]
require 'oauth2'

@code=params[:code]

@cc_id=client_id
@client_s=client_secret

else

@code="None"

end

我也尝试通过 Javascript 来做到这一点 - 但我宁愿不这样做 - 因为它会让我的客户 secret 暴露。另外,我也没有收到返回的数据。

<script type="text/javascript" src="javascripts/jquery-1.7.1.min.js"></script>

<script type="text/javascript">

function get_access_token(code,ccid,cc_s){

$.ajaxSetup({
'beforeSend': function(xhr){
xhr.setRequestHeader("Accept", "text/javascript")
}
});

var sent = { 'grant_type': 'authorization_code',
'code': code,
'client_id': ccid,
'client_secret': cc_s,
'redirect_uri': 'http://myurl.com/rktest'
};

document.write("<p>" + sent + "</p>");

$.ajax({
url: 'https://runkeeper.com/apps/token',
data: sent,
type: 'POST',
dataType: 'json',
success: function(data, status, xhr){
if (status === 'error' || !xhr.responseText){
handleError();
}else{

document.write("<p>" + data + "</p>");
document.write("<p>" + status + "</p>");
document.write("<p>" + xhr + "</p>");

}
}
});

}

<%= 'get_access_token(\''+@code+'\',\''+@cc_id+'\',\''+@cc_s+'\');' %>

此外,这是我目前的路线文件:

match '/rktest', :to => 'main#rktest', :via => [:get, :post]

即使这样也行不通。

RestClient.post 'https://runkeeper.com/apps/token', {:params => {
:grant_type => 'authorization_code',
:code => @code,
:client_id => '8e9b36478b764ac38ef1bdabc6d14d60',
:client_secret => something,
:redirect_uri => "http%3A%2F%2Fopenhealthdesigns.com%2Frktest"}}

最佳答案

关于javascript - 如何在rails中发送post请求并接收返回的json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8885715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com