google-ads-node
Version:
Google Ads gRPC Client Library for Node
33 lines • 2.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const google_auth_library_1 = require("google-auth-library");
class Auth {
constructor(options) {
this.options = options;
this.client = this.buildOAuth2Client(this.options.clientId, this.options.clientSecret);
this.setRefreshToken(this.options.refreshToken);
}
async getAccessToken() {
try {
const { token } = await this.client.getAccessToken();
return token;
}
catch (err) {
throw new Error(`Failed to refresh access token, reason=${err.message}`);
}
}
buildOAuth2Client(clientId, clientSecret) {
return new google_auth_library_1.OAuth2Client({
clientId,
clientSecret,
});
}
setRefreshToken(refreshToken) {
const credentials = {
refresh_token: refreshToken,
};
this.client.setCredentials(credentials);
}
}
exports.default = Auth;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZEQUFnRTtBQVFoRSxNQUFxQixJQUFJO0lBSXZCLFlBQVksT0FBb0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjO1FBQ3pCLElBQUk7WUFDRixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3JELE9BQU8sS0FBZSxDQUFDO1NBQ3hCO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxRQUFnQixFQUFFLFlBQW9CO1FBQzlELE9BQU8sSUFBSSxrQ0FBWSxDQUFDO1lBQ3RCLFFBQVE7WUFDUixZQUFZO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWUsQ0FBQyxZQUFvQjtRQUMxQyxNQUFNLFdBQVcsR0FBZ0I7WUFDL0IsYUFBYSxFQUFFLFlBQVk7U0FDNUIsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRjtBQWhDRCx1QkFnQ0MifQ==