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);
        });
}
Example #2
0
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('/');
  }
});
Example #3
0
    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