You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.net MVC中SurveyMonkey API认证后续操作咨询

完成SurveyMonkey OAuth 2.0认证的后续步骤

嘿,我来帮你梳理下后续的操作流程,既然你已经搞定了第一步(应该是注册应用、配置好http://localhost作为重定向URL,拿到了Client ID和Client Secret),接下来按下面的步骤走就行,完全适配你本地运行应用的场景:

1. 构造授权请求URL,引导用户跳转

你需要生成一个授权URL,让自己(本地测试的话就是你自己作为用户)跳转到SurveyMonkey的授权页面,URL结构如下:

https://api.surveymonkey.net/oauth/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=http://localhost

把YOUR_CLIENT_ID替换成你应用的实际Client ID就行。这里用的是授权码模式(response_type=code),非常适合本地应用的认证场景。

打开这个URL后,会跳转到SurveyMonkey的登录页面,登录后页面会询问是否允许你的应用访问数据,点击同意后就会自动跳回http://localhost,此时URL的查询参数里会带上一个code参数——这就是授权码,是下一步换取令牌的关键。

2. 用授权码换取访问令牌

拿到授权码后,你需要向SurveyMonkey的令牌端点发送POST请求,换取访问令牌(Access Token):

  • 请求URL:https://api.surveymonkey.net/oauth/token
  • 请求头:必须包含Content-Type: application/x-www-form-urlencoded
  • 请求体(表单格式):
    client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&code=AUTHORIZATION_CODE&redirect_uri=http://localhost&grant_type=authorization_code
    
    把所有占位符替换成实际值:YOUR_CLIENT_ID和YOUR_CLIENT_SECRET是你应用的密钥,AUTHORIZATION_CODE是上一步拿到的授权码。

发送请求后,你会收到一个JSON响应,里面包含access_token(后续调用API的核心凭证)、refresh_token(用来刷新过期的访问令牌)、expires_in(令牌有效期)等信息,把这些信息妥善保存好。

3. 使用访问令牌调用SurveyMonkey API

现在你就可以用access_token调用各种SurveyMonkey API接口了。所有请求的头信息里都需要带上:

Authorization: Bearer YOUR_ACCESS_TOKEN

举个简单的例子,用curl调用获取当前用户信息的接口:

curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.surveymonkey.net/v3/users/me

如果请求成功返回用户数据,就说明认证完全生效啦!

4. 处理令牌过期(可选但重要)

访问令牌是有有效期的,过期后不用重新走一遍授权流程,直接用refresh_token就能获取新的访问令牌:

  • 请求URL还是https://api.surveymonkey.net/oauth/token
  • 请求体换成:
    client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&refresh_token=YOUR_REFRESH_TOKEN&grant_type=refresh_token
    
    替换对应占位符后发送请求,就能拿到新的access_token,继续正常调用API。

另外要注意:本地运行应用时,要确保你的服务能捕获到重定向URL里的code参数,不然没法进入下一步换取令牌的环节哦。

内容的提问来源于stack exchange,提问作者Sartorialist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:18:44