#intuit-partner-platform #quickbooks-online
#intuit-партнерская платформа #quickbooks-онлайн
Вопрос:
При подключении к Quickbook в нашем приложении мы можем получить токен доступа и realmid, но при попытке реализовать Get App Now мы не смогли получить никакой информации после перенаправления на наш OpenID URL. То, что я пробовал до сих пор, это
define('OAUTH_CONSUMER_KEY', $consumerkey);
define('OAUTH_CONSUMER_SECRET', $consumersecret);
define('OAUTH_URL', 'https://oauth.intuit.com/');
define('APPCENTER_URL', 'https://appcenter.intuit.com/');
define('OAUTH_REQUEST_URL', OAUTH_URL . 'oauth/v1/get_request_token');
define('OAUTH_ACCESS_URL', OAUTH_URL . 'oauth/v1/get_access_token');
define('OAUTH_AUTHORISE_URL', APPCENTER_URL . 'Connect/Begin');
define('OAUTH_CURRENT_USER', APPCENTER_URL . 'api/v1/user/current');
try{
$oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_URI);
$oauth->enableDebug();
$request_token = $oauth->getRequestToken(OAUTH_CURRENT_USER,CALLBACK_URL);
echo '<pre>';
print_r($_POST);
print_r($_GET);
print_r($_REQUEST);
print_r($_SESSION);
echo $request_token;
print_r($request_token);
echo '</pre>';
} catch(OAuthException $e) {
pr($e);
}
Я не могу получить какую-либо ценную информацию о приведенном выше коде, возможно, я делаю это неправильно и ожидаю, что после завершения авторизации появятся realmid и токен доступа, а quickbooks перенаправит на наш OpenID URL. Будем признательны за любую информацию.
Пожалуйста, обратите внимание, что у меня действительно нет знаний об этом, поскольку я впервые использую quickbooks api и связанные технологии.
Обновлено
<?php
require 'openid.php';
try {
# Change 'localhost' to your domain name.
$openid = new LightOpenID($_SERVER["HTTP_HOST"]);
if(!$openid->mode) {
if(isset($_GET['login'])) {
$openid->identity = 'https://openid.intuit.com/OpenId/Provider';//'https://www.google.com/accounts/o8/id';
$openid->required = array(
'contact/email',
'namePerson/first',
'namePerson/last'
);
header('Location: ' . $openid->authUrl());
}
?>
<form action="?login" method="post">
<button>Login with Google</button>
</form>
<?php
} elseif($openid->mode == 'cancel') {
echo 'User has canceled authentication!';
} else {
echo 'User ' . ($openid->validate() ? $openid->identity . ' has ' : 'has not ') . 'logged in.';
}
} catch(ErrorException $e) {
echo $e->getMessage();
}
Когда форма, приведенная выше, отправляется, это приводит к тому, что сервер OpenID не найден по адресуhttps://openid.intuit.com/OpenId/Provider
Комментарии:
1. Приведенный выше код касается OAuth, но ваш вопрос касается OpenID. Пожалуйста, опубликуйте свой OpenID-код, поскольку ваш OAuth-код здесь совершенно неуместен.
2. @KeithPalmerJr. Извините, если я опубликовал это, я действительно не знаю, что мне делать. Единственное, что я знаю, это то, что мы настроили OpenID URL, и я полагаю, что URL будет запущен после нажатия кнопки «Получить приложение сейчас» и авторизации пользователем нашего приложения.
3. Хорошо, итак, как выглядит код для вашего OpenID URL? Пожалуйста, опубликуйте это, чтобы мы могли вам помочь.
4. @KeithPalmerJr. на данный момент у меня есть только они, ничего особенного. Я просто проверяю, что я могу сделать с этим URL, чтобы получить информацию о компании.
5. OpenID используется, чтобы разрешить пользователям входить в ваше приложение, используя ваши учетные данные Intuit. Вы получите идентификатор OpenID, имя и адрес электронной почты пользователя. OAuth используется для предоставления доступа к API QuickBooks / Payments. Вы получите идентификатор области и учетные данные OAuth из OAuth.