Ruby on rails 在Rails中设置SurveyMonkey API
我对所有OAuth的东西都相当陌生。不久前我做了一个FacebookOAuth,但发现它非常混乱,尽管我最终使它工作了 我有一个Rails/React应用程序,我想插入Survey Monkey API。具体来说,我想在Survey Monkey仪表板中创建调查,然后发出Ruby on rails 在Rails中设置SurveyMonkey API,ruby-on-rails,api,config,surveymonkey,Ruby On Rails,Api,Config,Surveymonkey,我对所有OAuth的东西都相当陌生。不久前我做了一个FacebookOAuth,但发现它非常混乱,尽管我最终使它工作了 我有一个Rails/React应用程序,我想插入Survey Monkey API。具体来说,我想在Survey Monkey仪表板中创建调查,然后发出GET请求以获取所有信息,然后使用它填充我自己的表单,将它们打包成POST并将它们发送回Survey Monkey 看起来很简单,但我不知道从哪里开始!我创建了一个公共应用程序,它给了我的客户ID和机密ID 我想我的问题是,从这
GET
请求以获取所有信息,然后使用它填充我自己的表单,将它们打包成POST
并将它们发送回Survey Monkey
看起来很简单,但我不知道从哪里开始!我创建了一个公共应用程序,它给了我的客户ID
和机密ID
我想我的问题是,从这里的第一步开始,我从哪里开始?我应该把客户端
和机密
id放在哪里?另外,我假设除了在config
文件夹中设置一些东西之外,我只在控制器中进行所有API调用,可能不需要额外的文件或文件夹
同样,我只需要真正的赤裸裸的开始块类型的建议这里。如果有人不介意,那将是一个很大的帮助。谢谢 您应该使用
omniauth
或类似的gem来帮助您实现oAuth的所有功能。目前还没有适用于Survey Monkey的工具,但您可能会看到这些策略是如何实现的
如果您可以为Survey Monkey提取OmniAuth策略,则可获得额外积分。您应该查看
OmniAuth
或类似的gem,以帮助您实现oAuth的所有功能。目前还没有适用于Survey Monkey的工具,但您可能会看到这些策略是如何实现的
如果您可以为Survey Monkey提取OmniAuth策略,则可以获得额外的积分。我不能代表rails部分,但对于带有SurveyMonkey的OAuth,说明是可用的 基本上,使用您的客户端ID和客户端机密,您还需要设置重定向uri(应用程序中的路由,例如
/surveymonkey/oauth
),以发送代码,您可以使用该代码交换访问令牌
因此,当您想要访问用户的SurveyMonkey帐户时,您将在应用程序中的某个位置将其发送到:
https://api.surveymonkey.net/oauth/authorize?client_id=<your_client_id>&response_type=code&redirect_uri=<your_redirect_uri>
https://api.surveymonkey.net/oauth/authorize?client_id=&response_type=code&redirect_uri=
这将向他们显示应用程序的SurveyMonkey OAuth页面,当用户单击“授权”时,我们会将他们发送回您用代码设置的重定向URI,类似于:
https://example.com/surveymonkey/oauth?code=<oauth_code>
https://example.com/surveymonkey/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
POSThttps://api.surveymonkey.net/oauth/token
内容类型:application/x-www-form-urlencoded
客户端密码=\
&代码=\
&重定向\u uri=\
&授权类型=授权代码
然后,您可以通过向API.SurveyMonkey.net/v3/*
的API调用中添加头Authorization:bearer
来调用SurveyMonkey,这样就可以了。我不能代表rails部分,但对于使用SurveyMonkey的OAuth,可以使用说明
基本上,使用您的客户端ID和客户端机密,您还需要设置重定向uri(应用程序中的路由,例如/surveymonkey/oauth
),以发送代码,您可以使用该代码交换访问令牌
因此,当您想要访问用户的SurveyMonkey帐户时,您将在应用程序中的某个位置将其发送到:
https://api.surveymonkey.net/oauth/authorize?client_id=<your_client_id>&response_type=code&redirect_uri=<your_redirect_uri>
https://api.surveymonkey.net/oauth/authorize?client_id=&response_type=code&redirect_uri=
这将向他们显示应用程序的SurveyMonkey OAuth页面,当用户单击“授权”时,我们会将他们发送回您用代码设置的重定向URI,类似于:
https://example.com/surveymonkey/oauth?code=<oauth_code>
https://example.com/surveymonkey/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
POSThttps://api.surveymonkey.net/oauth/token
内容类型:application/x-www-form-urlencoded
客户端密码=\
&代码=\
&重定向\u uri=\
&授权类型=授权代码
然后,您可以通过将标题Authorization:bearer
添加到对API.SurveyMonkey.net/v3/*
的API调用中来对SurveyMonkey进行API调用,您就可以开始了。谢谢您的评论。就我们使用它的方式而言,就好像我是唯一的OAuth用户,代表我的用户向SurveyMonkey API进行调用一样rs.我的用户提供答案,我提供问题/调查。就SurveyMonkey而言,我是这里唯一的用户…\u我认为\u。如果你只访问与应用程序所有者相同的帐户,那么你可能正在创建一个私有
应用程序。在这种情况下,你可以使用集合中提供的访问令牌tings page或更好,为了安全起见,请参见以下关于如何仅为您自己的帐户提取代币的答案。哦,太酷了。我刚开始假设我们会使用公共应用程序,考虑到API调用的上限,其中包括Private。您认为在这种情况下,Private在这里最有意义吗?因为正如我所说,我们正在通过API调用与我们自己的SM仪表盘和调查,只是我们正在添加用户提供的数据。此外,我发现这个宝石看起来很有希望。这是一个猴子策略omniauth surveymonkey似乎是一个不错的选择,如果它对你有效,你可以使用它。公共应用程序要求你在我们的应用程序目录中发布你的应用程序,并允许它被任何SM用户使用。如果是这样的话“这不是你的最终目标,那么你应该成为一个私人应用程序。请参阅常见问题解答。很好。看起来私人应用才是最好的选择。感谢你的澄清和评论。我们将使用它的方式,就好像我是唯一的OAuth用户,代表我的用户向Survey Monkey API调用。我的用户正在提供答案,而我我提供问题/