function getProfile(access_token, callback) { var client = graph.Client.init({ authProvider: (done) => { done(null, access_token); //first parameter takes an error if you can't get an access token } }); client .api('/me') .get((err, res) => { callback(res); }); }
router.get('/', async function(req, res, next) { let parms = { title: 'Contacts', active: { contacts: true } }; const accessToken = await authHelper.getAccessToken(req.cookies, res); const userName = req.cookies.graph_user_name; if (accessToken && userName) { parms.user = userName; // Initialize Graph client const client = graph.Client.init({ authProvider: (done) => { done(null, accessToken); } }); try { // Get the first 10 contacts in alphabetical order // by given name const result = await client .api('/me/contacts') .top(10) .select('givenName,surname,emailAddresses') .orderby('givenName ASC') .get(); parms.contacts = result.value; res.render('contacts', parms); } catch (err) { parms.message = 'Error retrieving contacts'; parms.error = { status: `${err.code}: ${err.message}` }; parms.debug = JSON.stringify(err.body, null, 2); res.render('error', parms); } } else { // Redirect to home res.redirect('/'); } });
return folderFound; }, async addUser(addedUser) { const oauth2 = this.getOAuthClient(); await this .populate('user') .execPopulate(); const res = await oauth2.accessToken.create({ refresh_token: this.user.outlookCredentials.refresh_token, }).refresh(); const accessToken = res.token.access_token; // Create a Graph client const client = microsoftGraph.Client.init({ authProvider: (done) => { // Just return the token done(null, accessToken); }, }); const res2 = await client.api('/me/contactFolders').get(); const folderExists = this.folderExists(res2.value); if (!folderExists) { this.remove(); } else { await client.api(`/me/contactFolders/${this.folder}/contacts`) .post(this.getContact(addedUser)); } }, async updateUser(user) { const oauth2 = this.getOAuthClient(); await this