如何使用wp_remote_post()设置Xero授权标头



我正在尝试使用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未经授权的回复。是我遗漏了什么还是做错了什么?

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视频中对此进行了解释:https://www.youtube.com/watch?v=Zcf_64yreVI

更多关于"机器2机器";集成,即client_credentials OAuth2.0授权https://developer.xero.com/announcements/custom-integrations-are-coming/

相关内容

  • 没有找到相关文章

最新更新