1

我试图建立连接到使用JSforce.js提供的oauth2销售人员一个Chrome扩展,但所有的例子我在网上找到包含的功能由提供Node.jsExpress.js,如何将它们添加到我的应用程序范围,而不需要用户在使用应用程序之前下载它们。任何人都可以向我澄清这个问题,我在这里有点困惑。谢谢!在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); 
    // ... 
    }); 
}); 

需要(),应用程序。 get(),sf.Oauth2()是由Node.js和Express.js提供的对象/函数,我不能使用

+0

我认为这会有帮助,如果你添加一些这样的例子,或者至少将它们链接起来,如果这些例子很大。 – wOxxOm

+0

@wOxxOm我按照你的建议编辑。顺便说一下,我在每个镀铬扩展柱上总是能看到你。你是一个非常敬业的用户:) –

+0

不是我的专业领域,但我认为应该可以在不使用node.js的情况下使用这些库,即使它不容易(你必须阅读关于应用程序的官方文档并做很多工作实验/谷歌搜索)。 – wOxxOm

回答

1

N ode.js并不意味着要在浏览器或Chrome扩展中运行,您应该在these instructions之后使用网络浏览器设置,并将jsforce.js添加到您的扩展的页面。

+0

谢谢,我看了一下指示,但他们似乎有点不清楚,至少对我来说。他们说我必须使用可运行Node.js的代理服务器,并在应用程序init设置中提供代理url,但我不确定如何使用Node.js启动服务器,以前从未这样做过。此外如何整合应用程序内的一切。如果你设法做到这一点,或者类似的东西你会介意与我分享这条信息?谢谢! –

+0

我很乐意提供帮助,但如何开始使用节点有点太广泛了,需要在这里回答一个问题。 jsforce.js和jsforce-ajax-proxy(您需要的唯一服务器端组件)的指南不会太长,而且非常简单,所以一旦设置了服务器,就不会有太多麻烦。 [openshift](https://www.openshift.com/pricing/index.html)和[heroku](https://www.heroku.com/pricing)有免费的计划,并且可以很容易地启动nodejs服务。 – cviejo

+0

好的,非常感谢,我会开始研究它。如果我有任何问题,我会在下面发表评论。 –