У меня проблемы с тем, чтобы заставить мое приложение работать в производственной среде.
Прежде всего, я создал учетные данные API и использовал их для аутентификации моего сайта в песочнице Evernote. Мне нужно только взять некоторые заметки, а не создавать веб-сервис как таковой, поэтому я предполагаю, что токена dev будет достаточно?
Я создал токен разработчика и теперь использую его для подключения к клиенту. Все отлично работает на Dev.
Теперь я перешел в производственную среду, и Evernote переместил свои учетные данные API на свои действующие серверы … Как и в песочнице, я сгенерировал новый токен разработчика в своей учетной записи, а также аутентифицировал свой сайт в своей реальной учетной записи.
Однако всякий раз, когда я пытаюсь вернуть некоторые заметки через их PHP Cloud SDK, я получаю следующую ошибку:
EDAMSystemException in UserStore.php line 3210:
authenticationToken
Вот мой код, который я использую для вызова API:
$this->client = new Client($token);
$note = $this->client->getNote($this->request->guid); // note guid
Тогда я могу делать такие вещи, как $note->title
— это прекрасно работает в dev, но не в производстве.
Токен выглядит так:
S=s123:U=4567ab1:E=12ecf234a67:C=2345678fa58:P=1cd:A=en-devtoken:V=2:H=12adf1b71184568a7434e1a966g0b1d1
(не мой настоящий знак)
Токен был сгенерирован из моего живого аккаунта Evernote.
Спасибо
Мне удалось исправить это самостоятельно, предоставив остальные аргументы методу Client.
Вглядываясь в код SDK Client.php:
public function __construct($token = null, $sandbox = true, $advancedClient = null, LoggerInterface $logger = null, $china = false)
У всех есть значения по умолчанию, поэтому я предполагаю, что любая работа, которую я делал над использованием реального аккаунта, была вынуждена вернуться в песочницу.
\Client($token, false, null, null, false)
исправил проблему.
Возможно, мне следовало бы взглянуть на это немного глубже, но документы разработчиков Evernotes ужасно бедны.
Кажется, ты все делаешь правильно …
Что я могу предложить, так это дважды проверить, что в вашей строке PHP нет лишних символов (например, пробел).
Если вы уверены, что ваш токен верен, вы можете обратиться в службу поддержки evernote и попросить их проверить ваши учетные данные.
Это может быть ошибка на их стороне.