0

QuickBooks Online にデータを挿入するための単体テストをいくつか作成したいと思います。認証手順に問題があります。

        public DataServices Authenticate(IntuitServicesType intuitDataServicesType)
    {
        DataServices dataServices = null;

        string accessToken = HttpContext.Current.Session["accessToken"].ToString();
        string accessTokenSecret = HttpContext.Current.Session["accessTokenSecret"].ToString();
        string companyID = HttpContext.Current.Session["realm"].ToString();
        // now auth to IA
        OAuthRequestValidator oauthValidator = new OAuthRequestValidator(accessToken, accessTokenSecret, ConfigurationManager.AppSettings["consumerKey"].ToString(), ConfigurationManager.AppSettings["consumerSecret"].ToString());
        ServiceContext context = new ServiceContext(oauthValidator, accessToken, companyID, intuitDataServicesType);

        dataServices = new DataServices(context);

        if (HttpContext.Current != null && HttpContext.Current.Session != null)
        {
            HttpContext.Current.Session["DataServices"] = dataServices;
        }

        return dataServices;
    }

ユーザー インターフェイスを持たない単体テスト プロジェクトで、アクセス トークンとアクセス トークン シークレットを取得するにはどうすればよいですか? そのエリアから Intuit にログインできません。

4

2 に答える 2

3

[試験方法()]

    public void AuthorizeWithHeadersTest()
    {
        string accessToken = ConfigurationManager.AppSettings["AccessTokenQBD"];
        string accessTokenSecret = ConfigurationManager.AppSettings["AccessTokenSecretQBD"];
        string consumerKey = ConfigurationManager.AppSettings["ConsumerKeyQBD"];
        string consumerKeySecret = ConfigurationManager.AppSettings["ConsumerSecretQBD"];
        string requestUri = "https://appcenter.intuit.com/Developer/Create";
        WebRequest webRequest = WebRequest.Create(requestUri);
        webRequest.Headers.Add("ContentType", "text/xml");
        OAuthRequestValidator target = new OAuthRequestValidator(accessToken, accessTokenSecret, consumerKey, consumerKeySecret);
        target.Authorize(webRequest, string.Empty);
        Assert.IsTrue(webRequest.Headers.Count > 0);
    }
于 2013-08-13T19:19:32.983 に答える