0

Survey Monkey API メソッドを使用してデータを表示する Web サイトを構築しようとしています。そのために、ユーザーの oauth を実行するメソッドを 1 つ (一部のコントローラーから 1 つだけ) 呼び出すクラス ライブラリを構築しています。( Survey Monkey Web サイトに記載されている 3 ステップのプロセスで成功しました) が、コントローラーから、ユーザーの oauth を実行し、後で使用できるトークンを設定するクラス ライブラリのメソッドに 1 つのメソッドのみを呼び出したいと考えています。 API メソッド用。私のコードは、クラス ライブラリで次のようになります。

HttpContext.Current.Response.Redirect(urlToAuthorize);

//what should be here (I should wait till the user gives credentials and authorize so that I can get the query string)

string tempAuthCode = HttpContext.Current.Session["code"].ToString();
if (!verifyRedirectedTempCode(tempAuthCode))
{
    return "Not a valid Token";
}
else
{
    try
    {
        var webRequest = GetWebRequestForHttpPostOfSurveyMonkeyToken(ApiKey,ClientSecret,tempAuthCode,RedirectUri,ClientId,GrantType,ContentType,WebRequestMethod);
        using (HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse())
        {
            string tokenJson = new StreamReader(response.GetResponseStream()).ReadToEnd();
            AccessToken accesstokenObj = JsonConvert.DeserializeObject<AccessToken>(tokenJson);
            return accesstokenObj.Token.ToString();
        }
    }
    catch
    {
        return null;
    }
}

}

リダイレクト後、ユーザーが承認するのを待っていないため、私が考えているとおりに機能しません。ユーザーがこのクエリ文字列を承認して収集するまで待つ方法は? クラスライブラリ自体で行う必要があります。

4

1 に答える 1