介绍
enertalk-oauth 是一个用于能源交互平台 OAuth 2.0 授权的 npm 包,您可以使用它获取终端用户的授权访问令牌,以访问其能源数据。
安装
要使用 enertalk-oauth,您需要在项目目录中打开命令行终端并运行以下命令:
npm install enertalk-oauth --save
这将安装 enertalk-oauth 并将其添加到您的项目的依赖项中。
配置
要使用 enertalk-oauth,您需要在能源交互平台注册您的应用程序,并获取客户端 ID 和客户端秘钥。
将这些想好后,您需要创建 enertalk-oauth 的一个实例:
const EnertalkOauth = require('enertalk-oauth'); const enertalkOauth = new EnertalkOauth({ clientId: 'YOUR_CLIENT_ID', clientSecret: 'YOUR_CLIENT_SECRET', redirectUri: 'YOUR_REDIRECT_URI', });
其中,YOUR_CLIENT_ID
,YOUR_CLIENT_SECRET
和 YOUR_REDIRECT_URI
分别为客户端 ID、客户端秘钥和回调 URI,您需要将其替换为您的实际值。
授权
要获得用户的授权访问令牌,您需要重定向用户到能源交互平台的授权页面:
const authUrl = enertalkOauth.authorizeUrl();
此代码将返回一个授权 URL,您应该将其重定向到用户的浏览器中:
https://api.enertalk.com/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code
用户将在该页面中看到一个登录页面。在登录后,他们将被重定向回您的应用程序,并且您的应用程序将收到一个授权代码。
app.get('/callback', async (req, res) => { const code = req.query.code; const token = await enertalkOauth.token(code); });
token
将包含授权访问令牌的信息。现在您可以使用该令牌进行 API 调用。
示例
获取用户的基本信息
const data = await enertalkOauth.api('/me'); console.log(data);
该代码将输出用户的基本信息。
获取用户的能源数据
const startDate = '2019-01-01'; const endDate = '2019-01-31'; const granularity = 'hourly'; const data = await enertalkOauth.api(`/users/${userId}/devices/${deviceId}/usages?start=${startDate}&end=${endDate}&granularity=${granularity}`); console.log(data);
startDate
、endDate
和 granularity
是您要获取数据的参数。该代码将输出在指定日期范围内,按小时划分的能源数据。
结论
enertalk-oauth 使您能够轻松地使用能源交互平台的 OAuth 2.0 授权获得用户的授权访问令牌。只要遵循上述教程,您就可以开始使用该 npm 包来访问终端用户的能源数据!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066e25a563576b7b1ecec3