在Rails中设置SurveyMonkey API

时间:2017-11-06 17:44:45

标签: ruby-on-rails api config surveymonkey

我对所有OAuth的东西都相当新。我曾经做过Facebook OAuth,但发现它非常令人困惑,尽管我最终使它成功了。

我有一个Rails / React应用程序,我想插入Survey Monkey API。具体来说,我想在Survey Monkey仪表板中创建调查,然后发出GET请求获取所有信息,然后使用它填充我自己的表单,将它们捆绑到POST并发送em回到Survey Monkey。

看似简单,但我不知道从哪里开始!我创建了一个公共应用,它给了我Client_IDSecret_ID

我想我的问题是,字面意思是第一步,我从哪里开始?我应该在哪里放clientsecret ID?此外,我假设除了在config文件夹中设置某些东西,我想想,我只是在我的控制器中进行所有API调用,可能不需要其他文件或文件夹中。

同样,我只需要真正的准系统来启动块类型建议。如果有人不介意,那将是一个非常大的帮助。谢谢!

2 个答案:

答案 0 :(得分:2)

我不能代表rails部分,但对于使用SurveyMonkey的OAuth,可以使用here的说明。

基本上,根据您的客户ID和客户端密码,您还需要设置重定向uri(您的应用中的路线,比如/surveymonkey/oauth发送code到您可以使用的路线交换访问令牌。

因此,当您想要访问用户的SurveyMonkey帐户时,您将在应用中的某个位置将其发送至:

https://api.surveymonkey.net/oauth/authorize?client_id=<your_client_id>&response_type=code&redirect_uri=<your_redirect_uri>

这将向您显示应用的SurveyMonkey OAuth页面,当用户点击“授权”时,我们会将它们发送回您使用代码设置的重定向URI,例如:

https://example.com/surveymonkey/oauth?code=<oauth_code>

您的视图从GET参数中提取代码,然后您可以将该代码替换为存储在某处的长期访问令牌:

POST https://api.surveymonkey.net/oauth/token
Content-Type: application/x-www-form-urlencoded

client_secret=<your_secret> \
&code=<auth_code_you_just_got> \
&redirect_uri=<same_redirect_uri_as_before> \
&grant_type=authorization_code

然后,您可以通过向Authorization: bearer <access_token>的API调用添加标头api.surveymonkey.net/v3/*来对SurveyMonkey进行API调用,您就可以了。

答案 1 :(得分:0)

你应该期待omniauth或类似的宝石来帮助你做所有的事情。 Survey Monkey没有strategy,但您可以很好地了解这些策略的实施方式。

如果您可以为Survey Monkey提取OmniAuth策略,则可获得积分。