Я использую настольную версию QB. и я хотел обновить/регенерировать «токены доступа»/«Access Token Secrete» для моего рабочего стола QuickBooks, поскольку срок их действия истекает через 180 дней, а продление должно быть сделано в течение 30 дней с момента окончания токена. я попробовал то же самое с кодом ниже, но он не работает, дает ошибку, как,Инуиты QuickBooks Продление токена и срок его действия
<RestResponse xmlns="http://www.intuit.com/sb/cdm/v2"><Error RequestId="14aa97c48321489db48254e4bdb25d00"><RequestName>ErrorRequest</RequestName><ProcessedTime>2013-04-05T11:43:08+00:00</ProcessedTime><ErrorCode>401</ErrorCode><ErrorDesc>Invalid security token</ErrorDesc></Error></RestResponse>
Там нет какого-либо входа Request/Response для маркеров generatetion.
string myRealmId = "000000000000000";
string myAccessToken = "0000000000000000000000000000000000000";
string myAccessTokenSecret = "00000000000000000000000000000000000";
string myAppToken = "00000000000000000000000000000000000";
string myConsumerKey ="00000000000000000000000000000000000";
string myConsumerSecret ="00000000000000000000000000000000000";
OAuthConsumerContext consumerContext = new OAuthConsumerContext
{
ConsumerKey =myConsumerKey,
SignatureMethod = SignatureMethod.HmacSha1,
ConsumerSecret = myConsumerSecret
};
OAuthSession oSession = new OAuthSession(consumerContext, "https://oauth.intuit.com/oauth/v1/get_request_token",
"https://workplace.intuit.com/Connect/Begin",
"https://oauth.intuit.com/oauth/v1/get_access_token");
oSession.ConsumerContext.UseHeaderForOAuthParameters = true;
oSession.AccessToken = new TokenBase
{
Realm = myRealmId,
Token = myAccessToken,
ConsumerKey = myConsumerKey,
TokenSecret = myAccessTokenSecret
};
var body = "<AdvancedReportQuery xmlns=\"http://www.intuit.com/sb/cdm/v2\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.intuit.com/sb/cdm/v2 ..//RestDataFilter.xsd\"><BalanceSheetStd><OfferingId>ipp</OfferingId><EndTransactionDate>2012-06-01</EndTransactionDate></BalanceSheetStd></AdvancedReportQuery>";
IConsumerRequest conReq = oSession.Request();
conReq = conReq.Post().WithRawContentType("text/xml").WithRawContent(System.Text.Encoding.ASCII.GetBytes(body));
conReq = conReq.ForUrl("https://services.intuit.com/sb/advancedreport/v2/508053445");
try
{
conReq = conReq.SignWithToken();
}
catch (Exception ex) {}
string serviceResponse = conReq.ReadBody();
}
catch (Exception Err) {}
}
Спасибо,
Reshma D.
Спасибо за ваш ответ. Можете ли вы нам позвонить по этому API через службу передачи данных. Например, мы называем методы службы данных, например, Intuit.Ipp.Data.Qbd.Customer qbdCustomer = dataServices.FindById (qbdCustomer1); Спасибо за ваш ответ. Можете ли вы помочь нам назвать этот API через службу данных. Например, мы называем методы службы данных, например, Intuit.Ipp.Data.Qbd.Customer qbdCustomer = dataServices.FindById (qbdCustomer1); Мы не можем понять, какой объект Intuit Quickbooks нам поможет в реализации. Спасибо заранее, Reshma D. –
Reshma
Этот вызов недоступен в DevKit. Я обновил ответ выше с примером того, как использовать DevDefined для вызова API. –
Спасибо, Питер. Я попробую с данной ссылкой. – Reshma