Я хочу получить отчет, используя мое приложение QB для песочницы по умолчанию. Как я могу отправить GET запрос на отчеты, используя v3-php-sdk-2.1.0?

Я хочу получить отчет из моего приложения QB для песочницы по умолчанию. Я успешно вошел в систему и имею все данные, такие как токен и т. Д. Теперь, как я могу отправить отчет о запросе GET, используя v3-php-sdk-2.1.0, упомянутый в следующем URL?

https://developer.intuit.com/docs/0100_accounting/0400_references/reports/profitandloss#/Making_the_Request

Я хочу получить отчет из моего приложения QB для песочницы по умолчанию. Как я могу отправить отчет о запросе GET, используя v3-php-sdk-2.1.0?

За этим последовали / questions / 23232279 / php-sdk-v3-reports-questions

Сейчас я пытаюсь получить простую учетную запись со следующим заголовком запроса (который выглядит так же, как и здесь): developer (.) Intuit (.) Com / v2 / apiexplorer? Apiname = V3QBO #? Id = учетная запись при вызове чтения)

[«headers_sent»] => string (657) «GET / v3 / company / 1421610450 / account / 12 HTTP / 1.1 хост: sandbox-quickbooks.api.intuit.com пользовательский агент: V3PHPSDK2.1 принять: соединение application / json : закрыть тип контента: application / json Авторизация: OAuth oauth_consumer_key = «xxxxx», oauth_signature_method = «HMAC-SHA1», oauth_nonce = «xxxxx», oauth_timestamp = «1440907935», oauth_version = «1.0 2 = o» 2 = o «oa = o = 2» oa = o = 2 «oa = o = 2» oa = o = 2 «oa = o = 2» oa = o = 2 «oa = o = 2» oa = o = 2 «oa = o = 2» oa = o = 2 «oa = o = 2» oa = o = 2 «oa = o = 2» oa = a = 2 «oa = a = 2» oa = a = 2 «oa = a = 2» oa = a = 2 «oa = a = 2» oa = a = 2 «oa = a = o» 2 «oa = a = o» 2 «oa = a = 2») : {s: 18: «oauth_token_secret»; s: 40: «ххххх»; s: 11: «oauth_token»; s: 48: «ххххх»;} «oauth_signature = «ххххх»»

И тело получено

[«body_recv»] => string (675) «message = BadRequest; errorCode = 003202; statusCode = 400 Invalid uri ‘https://oauth.intuit.net/iam/oauth_utils/v1/consumers/qyprdgehPU17WVK6BTQ54kVDfYRLFP/access_tokens/a:2: {s: 18: «oauth_token_secret»; s: 40: «xxxxxxxxx»; s: 11: «oauth_token»; s: 48: «xxxxxxxxx»;} ‘: экранированный абсолютный путь недопустим «: экранированный абсолютный путь недопустим»

Вот мой sdk.config (я извлекаю ключи и секрет из моего собственного конфигурационного файла, поэтому его не устанавливают)

<ipp>

<security mode="OAuth">

<oauth consumerKey="" consumerToken="" accessKey="" accessToken=""  />

</security>

<message>

<request serializationFormat="Xml" compressionFormat="None"/>

<response serializationFormat="Xml" compressionFormat="None"/>

</message>

<service>

https://sandbox-quickbooks.api.intuit.com/" qbo="https://sandbox-quickbooks.api.intuit.com/" ipp="https://appcenter.intuit.com/api/" />

</service>

<logger>

<requestLog enableRequestResponseLogging="true" requestResponseLoggingDirectory="/IdsLogs" />

</logger>

<!--

Available strategies are file, handler and export.

file - saves response into temporary file in system temp folder.

The file should be removed manually



handler - saves response into temporary file and provides file handler.

The file is automatically removed after script termination or when developer closes the handler

export - saves response into export folder. Additional parameter "exportDirectory" should be specified

<contentWriter strategy="export" exportDirectory="/path/to/target/folder">

For advance usage you can specify returnObject="true" to work with instance of contentWriter

-->

<contentWriter strategy="file" prefix="ipp"/>

<specialConfiguration>

<TaxService jsonOnly="true"/>

</specialConfiguration>

<minorVersion>2</minorVersion>

</ipp>

<!--Intuit Anywhere QBD-->

<!--Specify AccessToken Value for QBD-->

<add key="AccessTokenQBD" value="" />

<!--Specify accessTokenSecret Value for QBD-->

<add key="AccessTokenSecretQBD" value="" />

<!--Specify consumerKey Value for QBD-->

<add key="ConsumerKeyQBD" value="" />

<!--Specify consumerSecret Value for QBD-->

<add key="ConsumerSecretQBD" value="" />

<!--Specify realmIdIA Value for QBD-->

<add key="RealmIAQBD" value="" />

<!--Intuit Anywhere QBO-->

<!--Specify AccessToken Value for QBO-->

<add key="AccessTokenQBO" value="" />

<!--Specify accessTokenSecret Value for QBO-->

<add key="AccessTokenSecretQBO" value=""  />

<!--Specify consumerKey Value for QBO-->

<add key="ConsumerKeyQBO" value="" />

<!--Specify consumerSecret Value for QBO-->

<add key="ConsumerSecretQBO" value="" />

<!--Specify realmIdIA Value for QBO-->

<add key="RealmIAQBO" value="" />

Хотя config.php остается неизменным в v3-php-sdk-2.1.0 (ПРИМЕЧАНИЕ, я также проверил его, используя v3-php-sdk-2.0.5, но те же результаты)

Любая помощь будет высоко ценится. Заранее спасибо.

0

Решение

Это произошло потому, что ваш пример кода oauth сохранял токен путем сериализации accessToken

$ access_token = $ oauth-> getAccessToken ($ this-> CI-> config-> item (‘OAUTH_ACCESS_URL’), », $ this-> CI-> input-> get (‘oauth_verifier’));
$ this-> CI-> session-> set_userdata (‘token’, сериализация ($ access_token));

И нам нужно, как показано ниже, чтобы сделать дополнительные звонки

$ token = unserialize ($ this-> CI-> session-> userdata (‘token’));
$ requestValidator = new OAuthRequestValidator ($ token [«oauth_token»], $ token [«oauth_token_secret»],
$ this-> CI-> config-> item (‘OAUTH_CONSUMER_KEY’), $ this-> CI-> config-> item (‘OAUTH_CONSUMER_SECRET’));

Этот код является специфическим для codeigniter библиотеки

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]