Я хочу получить отчет из моего приложения QB для песочницы по умолчанию. Я успешно вошел в систему и имею все данные, такие как токен и т. Д. Теперь, как я могу отправить отчет о запросе GET, используя v3-php-sdk-2.1.0, упомянутый в следующем URL?
Я хочу получить отчет из моего приложения 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, но те же результаты)
Любая помощь будет высоко ценится. Заранее спасибо.
Это произошло потому, что ваш пример кода 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 библиотеки
Других решений пока нет …