私はかなりの量の質問を見てきましたが、まだ私は混乱しています。投稿リクエストを送信し、jsonをレールに戻す方法
私は、Healthgraph API(ここではhttp://developer.runkeeper.com/healthgraph/registration-authorization)に接続するRailsアプリケーションを作成しています。
私はRails経由でPOSTリクエストを行うことになっています。パラメータに基づいてJSONを受信して受信します。私はouth2、runkeeperなどの宝石を試してきましたが、特定の依存関係のために動作しません。しかし、私はRails経由でPOSTする方法を失い、応答を受け取ります。
私はコントローラにコードを戻しますが、アクセストークンの取得方法はまだ分かりません。
デフrktest
respond_to
if params[:code]
require 'oauth2'
@code=params[:code]
@cc_id=client_id
@client_s=client_secret
else
@code="None"
end
また、私はJavaScriptでそれをやろうとしている - 私はむしろないだろう - それは私のクライアントの秘密が暴露葉以来。また、私はデータを受け取っていない。
<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(\''[email protected]+'\',\''[email protected]_id+'\',\''[email protected]_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"}}
イムを見たことがありますか?どこに外部サーバーに投稿していますか? – econclicks
これは実際に取得要求ですが、要求のタイプは重要ではありません。私は、Rails 3.1アプリケーションでjsonをどのように返すのかを示しています。 respond_to:json行をファイルに置き、respond_withを使用すると、jsonが返されます。 –