1

IPP を使用して QuickBooks Online に銀行口座を追加しようとしています。コードが失敗し、アカウントが無効であると表示されます。これが私のコードです:

            Account account = new Account();
            account.Desc = "Desc";
            account.Name = "Checking2";
            account.Type = AccountTypeEnum.Revenue;
            account.TypeSpecified = true;
            account.Subtype = AccountSubtypeEnum.Bank.ToString();
            dataServices.Add(account);

フィールドを追加する必要がありますか? 同じ名前のアカウントが存在するというエラーも表示されますが、表示されません。

ログに XML が表示されません。

            OAuthRequestValidator oauthValidator = new OAuthRequestValidator(accessToken, accessTokenSecret, ConfigurationManager.AppSettings["consumerKey"].ToString(), ConfigurationManager.AppSettings["consumerSecret"].ToString());
        ServiceContext context = new ServiceContext(oauthValidator, accessToken, companyID, IntuitServicesType.QBO);
        context.EnableServiceRequestsLogging = true;
        context.IdsLogger = new MyCustomLogger();
        dataServices = new DataServices(context);
        return "OK";


public class MyCustomLogger : ILogger
{
public MyCustomLogger()
{
}

public string ClearLog()
{
    try
    {
        string path = HttpContext.Current.Server.MapPath("/qblog.txt");

        if (File.Exists(path))
        {
            File.Delete(path);
        }

        return "OK";

    }
    catch (Exception ex)
    {
        return ex.ToString();
    }
}

public void Log(TraceLevel idsTraceLevel, string messageToWrite)
{
    string level = idsTraceLevel.ToString();
    WriteToLog(new ErrorMessage(MessageSeverity.Error, "QBFS", messageToWrite));
}

public string WriteToLog(ErrorMessage message)
{
    if (!String.IsNullOrEmpty(message.Message))
    {
        string path = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath + "/qblog.txt");
        FileStream fileStream = null;

        //If the file exists, then append it
        if (File.Exists(path))
        {
            fileStream = new FileStream(path, FileMode.Append);
        }
        else
        {
            fileStream = new FileStream(path, FileMode.OpenOrCreate);
        }
        StreamWriter sw = new StreamWriter(fileStream);
        try
        {
            sw.WriteLine(String.Format("{0} : {1} {2} {3}", message.ApplicationName, message.Severity, DateTime.Now, message.Message));
            return "OK";
        }
        //If there is an error, just do nothing. Don't stop.
        catch (Exception ex)
        {
            return ex.ToString();
        }
        finally
        {
            sw.Close();
            fileStream.Close();
        }

    }

    return "Message is null or empty";
}

}

ここに私のxmlリクエストがあります:

<?xml version="1.0" encoding="utf-8"?><q1:Account xmlns="http://www.intuit.com/sb/cdm/qbo" xmlns:q1="http://www.intuit.com/sb/cdm/v2"><q1:Name>Checking</q1:Name><q1:Desc>Desc</q1:Desc><q1:Subtype>Bank</q1:Subtype></q1:Account>

これが私の応答です:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><FaultInfo xmlns="http://www.intuit.com/sb/cdm/baseexceptionmodel/xsd"><Message>Another account is already using this name. Please use a different name.</Message><ErrorCode>BAD_REQUEST</ErrorCode><Cause>-11202</Cause></FaultInfo>
4

1 に答える 1