0

ユーザーが調査サルで作成した調査を追跡するasp.net mvc 3 Webサイトを作成しようとしています。だから、私は調査猿のoauthを通過する必要があるAPIにアクセスしようとしています.私はこの概念に慣れていません.私はそれについて読みました.私にとっての問題は、3でアクセストークンを取得しようとしていることです.調査moneky開発者ウェブサイトに記載されているステッププロセスですが、パラメーターを渡すことができません。エラーが発生します。認証要求が失敗しました:必要なパラメーターredirect_uriおよび/またはclient_idがありません。ここに投稿された同じ質問を見ましたしかし、適切な答えが見つかりませんでした。

     string surveymonkeypass = "http://localhost";
            string client_id = "REDACTED";
            string response_type = "code";
            string api_key = "REDACTED";
            string url = "https://api.surveymonkey.net/oauth/authorize";
            string auth_dialog_uri = string.Format("redirect_uri={0}&client_id={1}&response_tpe={2}&api_key={3}", HttpUtility.UrlEncode(surveymonkeypass), HttpUtility.UrlEncode(client_id), HttpUtility.UrlEncode(response_type), HttpUtility.UrlEncode(api_key));
            url = url + "?" + "redirect_uri=" + HttpUtility.UrlEncode(surveymonkeypass) + "&client_id=" + HttpUtility.UrlEncode(client_id) + "&response_tpe=" + HttpUtility.UrlEncode(response_type) + "&api_key=" + HttpUtility.UrlEncode(api_key);
            System.Diagnostics.Process.Start(url);

私が試した他のブロックは、認証要求が失敗しました:

      string SM_API_BASE = "https://api.surveymonkey.net";
            string AUTH_CODE_ENDPOINT = SM_API_BASE + "/oauth/authorize" + "?";
            string auth_dialog_uri = string.Format("redirect_uri=http://localhost:57390/Survey/Create&client_id=REDACTED&response_type=code&api_key=uREDACTED");
            WebRequest webRequest = WebRequest.Create(AUTH_CODE_ENDPOINT);
            webRequest.ContentType = "application/x-www-form-urlencoded";
            webRequest.Method = "POST";
            byte[] bytes = Encoding.ASCII.GetBytes(auth_dialog_uri);
            webRequest.ContentLength = bytes.Length;
            using (Stream outputStream = webRequest.GetRequestStream())
            {
                outputStream.Write(bytes, 0, bytes.Length);
                StreamReader readStream = new StreamReader(outputStream, Encoding.UTF8);
                ViewBag.Message = (readStream.ReadToEnd());
            }
4

1 に答える 1

1

そこに記載されている API キーは、サンプル API コンソールの API キーです。独自の API キーを使用する必要があります。これは、サインイン後に 開発者ポータルで表示できます。

「パラメータがありません」というエラーが発生する理由は、パラメータのリストを「redirect_uri」パラメータに追加しようとしているためです。パラメータは独自のパラメータではなく、エンコードされた URL を取得し、そのパラメータの一部として読み取られています。右。

于 2014-02-26T17:46:25.983 に答える