【发布时间】:2020-04-11 18:30:39
【问题描述】:
我正在迁移到 Xero,并希望使用 cron 作业将发票流程设置为每月在特定时间运行一次,我可以启动 cron 作业,并且我已经设置了一个基于 https://github.com/XeroAPI/xero-php-oauth2-app 的 php 页面我可以手动运行,而且效果很好。
我还使用https://github.com/XeroAPI/xoauth 检索令牌并将它们存储在钥匙串中,我可以看到它们在那里。
xoauth 说“将 access_token、id_token 和 refresh_token 通过管道传输到标准输出,以便您可以在脚本工作流程中使用它们”,我有点迷失了。
我希望有人做过类似的事情,可以为我指明正确的方向,或者更好地给我一个例子,因为我在网上找不到。
我假设我缺少传输令牌值的 2 个示例之间的链接。
当 cron 运行时出现以下错误
'致命错误:未捕获的 BadMethodCallException:未传递必需参数:/Applications/MAMP/htdocs/vendor/league/oauth2-client/src/Tool/RequiredParameterTrait.php:35 中的“refresh_token”
这并不奇怪,因为据我所知,我没有给它一个 refresh_token。
我在 Mac 上使用 localhost 作为开发环境。
我从更有经验的开发人员那里看到了许多与此相关的问题,但没有答案。
谢谢戈登
【问题讨论】:
-
Hey Gordon - 视频已经上线,如果这能让你排序,请告诉我:youtube.com/watch?v=Zcf_64yreVI
-
非常有帮助,我已经决定让事情变得比它需要的更复杂,我现在改变了策略并认为以下是有意义的: 1. 创建 Mysql 数据库来保存连接令牌. 2. 手动填充它以开始使用 Xoauth。 3. 每个月加载页面时,刷新令牌并将新值保存到数据库中,并用于 API 调用。这有意义吗?还是你会提出其他建议?
-
成功了!很高兴为您排序。一旦你实现了它,请随时给我发消息很想听听你的脚本。 Chris.knight@xero.com