Достигая предела скорости

В настоящее время я работаю над интеграцией между Podio и другим API, и я наткнулся на следующую ситуацию:

В настоящее время мне нужно найти информацию из ссылки в одном рабочем пространстве в приложении, содержащем информацию о счетах, а затем найти конкретного клиента в другом рабочем пространстве в приложении, содержащем эту информацию.

Раньше я был в состоянии просто аутентифицировать себя более чем с одним приложением за раз, а затем динамически получать информацию из ссылок на другие приложения. Но сейчас я должен следовать следующему потоку кода, чтобы не получать исключения:

  1. Я должен сначала аутентифицироваться с приложением Invoices
  2. Извлеките объекты, которые мне нужны
  3. Просматривайте элементы по одному, каждый раз проходя аутентификацию в приложении Customer, чтобы я мог получить их информацию, а затем снова проходил аутентификацию в приложении Invoice.

Это означает массу запросов к Подио, которые мне не нужны.

$authenticateCustomers = Podio::authenticate_with_app(*, '*');
$customer = PodioItem::get($itemId);
$name = $customer->fields['companies']->values;
$authenticateSales = Podio::authenticate_with_app(*, '*');

До приведенного выше фрагмента я уже проверил их в своем конструкторе.

Если я удаляю аутентификации, я получаю исключения из-за отсутствия аутентификации.

Совет? Заранее спасибо.

1 ответ

Почему бы не использовать аутентификацию по имени пользователя / паролю?

Таким образом, вам нужно только пройти аутентификацию один раз, и у вас будет доступ ко всем пространствам / приложениям, в которых вы находитесь. Это больше подходит для динамических рабочих процессов такого типа в приложениях.

//Authenticate podio with $username and $password.
Podio::authenticate_with_password($username, $password);

//Get first item
$firstItem = PodioItem::get($itemId);

//Get second item
$secondItem = PodioItem::get($secondItemId);
Другие вопросы по тегам