我正在尝试使用 JSforce.js 提供的 oauth2 流程来构建连接 salesforce 的Chrome扩展程序,但我找到的所有示例在线包含 Node.js 和 Express.js 提供的功能,如何将其添加到我的应用范围,而无需用户在使用应用程序之前下载它们。任何人都可以向我澄清这个问题,我在这里有点困惑。谢谢!
编辑:
我从这里得到了这个例子:link
这是使用express.js框架运行的Oauth2代码:
var jsforce = require('jsforce');
//
// OAuth2 client information can be shared with multiple connections.
//
var oauth2 = new sf.OAuth2({
// you can change loginUrl to connect to sandbox or prerelease env.
// loginUrl : 'https://test.salesforce.com',
clientId : '<your Salesforce OAuth2 client ID is here>',
clientSecret : '<your Salesforce OAuth2 client secret is here>',
redirectUri : '<callback URI is here>'
});
//
// Get authz url and redirect to it.
//
app.get('/oauth2/auth', function(req, res) {
res.redirect(oauth2.getAuthorizationUrl({ scope : 'api id web' }));
});
// Pass received authz code and get access token
//
app.get('/oauth2/callback', function(req, res) {
var conn = new sf.Connection({ oauth2 : oauth2 });
var code = req.param('code');
conn.authorize(code, function(err, userInfo) {
if (err) { return console.error(err); }
// Now you can get the access token, refresh token, and instance URL information.
// Save them to establish connection next time.
console.log(conn.accessToken);
console.log(conn.refreshToken);
console.log(conn.instanceUrl);
console.log("User ID: " + userInfo.id);
console.log("Org ID: " + userInfo.organizationId);
// ...
});
});
require(),app.get(),sf.Oauth2()是由Node.js和Express.js提供的对象/函数,我无法使用
答案 0 :(得分:1)
Node.js并不打算在浏览器或Chrome扩展程序中运行,您应该使用these instructions之后的网络浏览器设置并将jsforce.js添加到您的扩展程序页面