Token在Dev中工作但不是Prod。 EDAMSystemException AuthenticationToken

时间:2016-09-29 20:29:24

标签: php evernote

我无法让我的应用在生产环境中工作。

首先,我创建了API凭据,并使用它们在Evernote沙箱上对我的网站进行身份验证。我只需要抓取一些注释,而不是创建一个Web服务,所以我假设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之类的东西 - 这在开发中非常有用,而不是生产。

Token看起来像这样:

S=s123:U=4567ab1:E=12ecf234a67:C=2345678fa58:P=1cd:A=en-devtoken:V=2:H=12adf1b71184568a7434e1a966g0b1d1

(不是我的真实代币)

令牌是从我的实时Evernote帐户生成的。

由于

2 个答案:

答案 0 :(得分:1)

我设法通过向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开发文档非常糟糕。

答案 1 :(得分:0)

好像你正在做的一切...... 我建议的是仔细检查你的PHP字符串中是否有额外的字符(例如空格)。

如果您确定您的令牌是正确的,您可能需要联系evernote支持并要求他们检查您的凭据。

他们可能是个错误。