【问题标题】:How to Set Xero Authorization Header Using wp_remote_post()如何使用 wp_remote_post() 设置 Xero 授权标头
【发布时间】:2020-11-18 17:33:59
【问题描述】:

我正在尝试使用 Xero API 在我的 WordPress 网站上发送发票电子邮件。但我不确定如何设置授权标头我尝试了以下操作:

$args = array(
    'headers' => array(
        'Content-Type: application/x-www-form-urlencoded',
        'Authorization' => 'Basic ' . base64_encode('myClientID' . ':' . 'myClientSecret')
    ),
);
$response = wp_remote_post('https://api.xero.com/api.xro/2.0/Invoices/2dfa4120-1fd2-4e67-927e-c16ac821226c/Email', $args);

print_r($response);

这给了我未经授权的 404 响应。我有什么遗漏或做错了吗?

【问题讨论】:

    标签: php wordpress authorization xero-api


    【解决方案1】:

    Authorization 标头实际上需要设置有效的 access_token,而不是 id / secret 组合。您可以在此处阅读有关获取令牌所需的代码流程的更多信息:https://developer.xero.com/documentation/oauth2/auth-flow

    如果您熟悉 PHP,可以在此处查看 PHP SDK 示例应用程序中的代码:https://github.com/XeroAPI/xero-php-oauth2-app


    您的目标是将发票电子邮件发送给动态组织,还是只是从您自己的个人组织发送发票?

    幸运的是(或不幸的是)明年初,我们将可以选择此嵌入式 access_token - 但如果您想在此期间进行设置,则需要从用户流生成访问令牌,然后设置后端我在这个 youtube vid 中解释的使用前刷新的机制:https://www.youtube.com/watch?v=Zcf_64yreVI

    有关“机器 2 机器”集成(即 client_credentials OAuth2.0 授权)的更多信息 https://developer.xero.com/announcements/custom-integrations-are-coming/

    【讨论】:

    • 感谢您的帮助。我的目标:我有一个创建 WooCommerce 订单并将发票发送给 Xero 的功能。然后我有一个 Xero 挂钩,可以监视新发票。一旦创建了一个,我想访问钩子函数内的 api 并将发票发送给用户让他们支付。来自钩子的有效负载是否包含任何授权凭据,还是我仍需要手动执行此操作?
    • 通过观看您的教程并遵循 Postman 教程,设法弄清楚了。谢谢
    • 总是很高兴听到。希望其余的开发顺利。一切就绪后,请在 Twitter 上给我们留言!
    猜你喜欢
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    相关资源
    最近更新 更多