0

因此,我尝试使用此代码将我的 id、密钥和其他信息传递给网站以启动 Oauth 批准,但它没有得到它们。我对 c# 和 Oauth 还很陌生,所以我不知道该怎么做。

 string url = "https://api.surveymonkey.net/oauth/authorize"; 
 string surveymonkeyPass =  HttpUtility.UrlEncode("redirect_uri=notsureyet.com");
 url = url + "?" + suverymonkeyPass;
 System.Diagnostics.Process.Start(url);

如何发送我的 id api_key 响应类型和 redirect_uri?

4

2 回答 2

0

您似乎还需要传递一个客户端 ID,因为我在使用您的 url 时收到以下消息:

调查猴子

授权请求失败:缺少必需的参数 redirect_uri 和/或 client_id。

添加随机客户端 ID(例如https://api.surveymonkey.net/oauth/authorize?redirect_uri=notsureyet.com&client_id=xx)时,将显示以下消息:

调查猴子

授权请求失败:client_id "xx" 无效。

于 2013-12-17T16:23:21.517 回答
0

如果您在本地计算机上运行的服务在端口 80 上侦听准备接收来自 SurveyMonkey 的 oAuth 页面的重定向,则 localhost 将起作用。您使用 System.Diagnostics.Process.Start(url) 打开的浏览器窗口将提示您输入 SurveyMonkey 用户名和密码,然后将您重定向到您使用参数“code”指定的 redirect_uri。

您在端口 80 上的服务需要接收此请求,解析代码参数,然后通过使用您的代码、api_key、redirect_uri向https://api.surveymonkey.net/oauth/token发出请求来交换访问令牌的代码, grant_type 和 client_secret 作为参数。如果一切都通过了,您将获得一个 json 响应,其中 access_token 作为键,访问令牌作为它的值。

如果您没有运行本地服务,则需要定向到托管在其他地方的服务,该服务执行相同的操作。

于 2013-12-18T17:03:08.830 回答