I've looked through a fair amount of the questions - yet, I am still
confused.

I am making a Rails app that connects with the Healthgraph API (here
http://developer.runkeeper.com/healthgraph/registration-authorization).

I am supposed to make a POST request via Rails - based on a parameter
I recieve and then recieve the JSON. I have tried the outh2, runkeeper
and other gems and they don't work because of a certain dependency.
However, I am lost on how to POST via Rails and recieve a response.

I do get the code back in my controller - however, I still don't know
how to get an access token.

def rktest

respond_to

if params[:code]
require 'oauth2'

@code=params[:code]

@cc_id=client_id
@client_s=client_secret

else

@code="None"

end

I'm trying to also do it via Javascript - but I'd rather not - since
it leaves my client secret exposed. Also, I don't recieve data back
either.

<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
+'\');' %>

</script>

Also, here is my routes file currently:

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

Even this does not work.

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

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

Search Discussions

  • Robert Walker at Jan 17, 2012 at 7:13 pm

    Archit Bhise wrote in post #1041310:
    I'm trying to also do it via Javascript - but I'd rather not - since
    it leaves my client secret exposed. Also, I don't recieve data back
    either.

    ...
    ...
    $.ajaxSetup({
    'beforeSend': function(xhr){
    xhr.setRequestHeader("Accept", "text/javascript")
    }
    });
    Here's an decent explanation of why you JavaScript solution will not
    work:

    http://www.jquery-tutorial.net/ajax/same-origin-policy/

    The same origin policy will prevent your did sending a request directly
    to another domain. Look into JSONP for a workaround to the same origin
    policy.

    You should, however, be able to send the request from the server side
    using Ruby.

    See open-uri for more details. Here's one example that I found via
    Google:

    http://juretta.com/log/2006/08/13/ruby_net_http_and_open-uri/

    --
    Posted via http://www.ruby-forum.com/.

    --
    You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
    To post to this group, send email to rubyonrails-talk@googlegroups.com.
    To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouprubyonrails-talk @
categoriesrubyonrails
postedJan 17, '12 at 1:42p
activeJan 17, '12 at 7:13p
posts2
users2
websiterubyonrails.org
irc#RubyOnRails

2 users in discussion

Archit Bhise: 1 post Robert Walker: 1 post

People

Translate

site design / logo © 2021 Grokbase