Недавно меня привлекла компания, которая использует Quickbase. У них ограниченное количество систем для общения с приложением Quickbase, поэтому я пытаюсь включить PHP SDK, чтобы добавлять / редактировать записи в Quickbase, используя интерфейс, разработанный мной, чтобы клиенты могли отправлять формы из Интернета в Quickbase.
Я сразу же столкнулся с проблемой, пытаясь заставить SDK даже ответить чем-то другим, кроме ошибки. В настоящее время он не отвечает ни на что при попытке добавить запись.
Я продолжаю читать, что недавние (~ 2-3 года назад) изменения сделали его немного сложным в использовании.
ниже мой codenippet со страницы php под названием «addnewcustomer.php»
include_once('quickbase.php');
//my PHP SDK Options located inside quickbase.php
var $user_name = 'username'; // QuickBase user who will access the QuickBase
var $passwd = 'pw'; // Password of this user
var $db_id = 'dbid'; // Table/Database ID of the QuickBase being accessed
var $app_token = 'my app token';
var $xml = true;
var $user_id = '';
var $qb_site = "www.mycompany.quickbase.com";
var $qb_ssl = "https://www.mycompany.quickbase.com/db/";
var $ticketHours = 12;
$quickbase = new QuickBase('myusername', 'mypw', true, "dbid", "token", "realm", hour);
$fields = array(
array(
'fid' => '148',
'value' => $agentid), //agentid
array(
'fid' => '15',
'value' => $city), //city
array(
'fid' => '16',
'value' => $state), //state
array(
'fid' => '14',
'value' => $address), //address
array(
'fid' => '524',
'value' => $apt), //apt #
array(
'fid' => '17',
'value' => $zip), //zip code
array(
'fid' => '33',
'value' => $rentown), //rent/own
array(
'fid' => '28',
'value' => $first), //first name
array(
'fid' => '29',
'value' => $last), //last name
array(
'fid' => '21',
'value' => $email), //email
array(
'fid' => '18',
'value' => $phone) //phone
);
$quickbase->add_record($fields);
В настоящее время он ничего не отвечает, т.е. пустой ответ. Если я изменяю область с чем-то неточным, я получаю ошибку «Неустранимая ошибка: необработанное исключение« Исключение »с сообщением« Строка не может быть проанализирована как XML »», что заставляет меня думать, что все настроено правильно.
Что должна вернуть успешная запись? Что я делаю неправильно?
Метод add_record должен возвращать объект XML. Если вы захватили этот объект, вы можете проверить его, чтобы увидеть, был ли вызов API успешным или была возвращена ошибка. Итак, если вы измените свой код на:
$results = $quickbase->add_record($fields);
print_r($results);
Вы получите то, что можете понять. Это не элегантно, но быстро покажет вам, получаете ли вы ответ и является ли этот ответ ошибочным. Вы должны увидеть что-то подобное в случае успеха:
SimpleXMLElement Object ( [action] => API_AddRecord [errcode] => 0 [errtext] => No error [rid] => 81 [update_id] => 1436476140453 )
Других решений пока нет …