Немного опоздал на (вакантную) вечеринку, но я успешно сделал это с частным приложением Xero - невероятно просто использовать их xero-node
lib.
, следуя документам, но удаляя privateKeyPath
изаменив его на privateKeyString
:
...
const XeroClient = require('xero-node').AccountingAPIClient;
// store this in ENV
const config = {
"appType": "private",
"consumerKey": "YOURCKEY",
"consumerSecret": "YOURSK",
'privateKeyString':
"-----BEGIN RSA PRIVATE KEY-----\n\
YOURPEMPRIVATEKEY==\n\
-----END RSA PRIVATE KEY-----"
}
...
exports.createContact = functions.https.onRequest((req, res) => {
// be sure to add cors lib
return cors(req, res, () => {
let xero = new XeroClient(config);
xero.contacts.create({
Name: 'phill'
});
xero.contacts.get().then(() => {
res.status(200).send({
message: "success"
});
});
});
});
...