在 Rails 中设置 SurveyMonkey API
Setting up SurveyMonkey API in Rails
我对所有 OAuth 内容都比较陌生。不久前我做了一个 Facebook OAuth,但发现它非常混乱,尽管我最终让它工作了。
我有一个 Rails/React 应用程序,我想将其插入 Survey Monkey API。具体来说,我想在 Survey Monkey 仪表板中创建调查,然后发出 GET
请求以获取所有信息,然后用它来填充我自己的表单,将它们捆绑到 POST
中并发送 em回到 Survey Monkey。
看似简单,却不知从何入手!我创建了一个 Public 应用程序,它给了我 Client_ID
和 Secret_ID
。
我想我的问题是,从字面上看是第一步,我从哪里开始?我应该把 client
和 secret
id 放在哪里?另外,我假设除了设置一些东西,我 认为 ,在 config
文件夹中,我只是在我的控制器中进行所有 API 调用,并且可能不需要额外的文件或文件夹。
同样,我只需要真正的准系统开始块类型的建议。如果有人不介意,那将是一个非常大的帮助。谢谢!
您应该参考 omniauth
或类似的 gem 来帮助您了解 oAuth。 Survey Monkey 没有现成的 strategy,但您可能可以很好地了解这些策略是如何实施的。
如果您可以为 Survey Monkey 提取 OmniAuth 策略,将加分。
我不能代表 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 页面,当用户点击 "Authorize" 时,我们会将他们发送回您使用代码设置的重定向 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
然后,您可以通过将 header Authorization: bearer <access_token>
添加到对 api.surveymonkey.net/v3/*
的 API 调用来对 SurveyMonkey 进行 API 调用,这样就可以了去吧。
我对所有 OAuth 内容都比较陌生。不久前我做了一个 Facebook OAuth,但发现它非常混乱,尽管我最终让它工作了。
我有一个 Rails/React 应用程序,我想将其插入 Survey Monkey API。具体来说,我想在 Survey Monkey 仪表板中创建调查,然后发出 GET
请求以获取所有信息,然后用它来填充我自己的表单,将它们捆绑到 POST
中并发送 em回到 Survey Monkey。
看似简单,却不知从何入手!我创建了一个 Public 应用程序,它给了我 Client_ID
和 Secret_ID
。
我想我的问题是,从字面上看是第一步,我从哪里开始?我应该把 client
和 secret
id 放在哪里?另外,我假设除了设置一些东西,我 认为 ,在 config
文件夹中,我只是在我的控制器中进行所有 API 调用,并且可能不需要额外的文件或文件夹。
同样,我只需要真正的准系统开始块类型的建议。如果有人不介意,那将是一个非常大的帮助。谢谢!
您应该参考 omniauth
或类似的 gem 来帮助您了解 oAuth。 Survey Monkey 没有现成的 strategy,但您可能可以很好地了解这些策略是如何实施的。
如果您可以为 Survey Monkey 提取 OmniAuth 策略,将加分。
我不能代表 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 页面,当用户点击 "Authorize" 时,我们会将他们发送回您使用代码设置的重定向 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
然后,您可以通过将 header Authorization: bearer <access_token>
添加到对 api.surveymonkey.net/v3/*
的 API 调用来对 SurveyMonkey 进行 API 调用,这样就可以了去吧。