का उपयोग कर जीमेल संपर्क आयात करने का प्रयास कर रहा हूं, मैं जीमेल संपर्क आयात करने की कोशिश कर रहा हूं। मैंने access_token सफलतापूर्वक प्राप्त कर लिया है, लेकिन संपर्क ब्राउज़र प्राप्त करने का प्रयास करते समय त्रुटि फेंकती रहती है। अवैध_ग्रैंटnode.js
नीचे मेरे कोड। प्रमाणीकरण और कॉलबैक के लिए
।
authorize: function(req, res){
var CLIENT_ID = '927112080821-vhsphqc79tb5ohfgpuvrp8uhh357mhad.apps.googleusercontent.com';
var CLIENT_SECRET = 'gdgofL0RfAXX0in5JEiQiPW8';
var SCOPE = 'https://www.google.com/m8/feeds';
oa = new oauth.OAuth2(CLIENT_ID,
CLIENT_SECRET,
"https://accounts.google.com/o",
"/oauth2/auth",
"/oauth2/token");
res.redirect(oa.getAuthorizeUrl({scope:SCOPE, response_type:'code', redirect_uri:'http://localhost:1234/callback'}));
},
callback: function(req, res){
console.log(req.query.code);
oa.getOAuthAccessToken(req.query.code, {grant_type:'authorization_code', redirect_uri:'http://localhost:1234/callback'}, function(err, access_token, refresh_token) {
if (err) {
res.end('error: ' + JSON.stringify(err));
} else {
getContactsFromGoogleApi(access_token);
//res.write('access token: ' + access_token + '\n');
//res.write('refresh token: ' + refresh_token);
//res.end();
}
});
},
का आयात संपर्कों
function getContactsFromGoogleApi (access_token, req, res, next) {
console.log('access_token ' + access_token);
request.get({
url: 'https://www.google.com/m8/feeds/contacts/default/full',
qs: {
alt: 'json',
'max-results': 1000,
'orderby': 'lastmodified'
},
headers: {
'Authorization': 'OAuth ' + access_token,
'GData-Version': '3.0'
}
}, function (err, res, body) {
if(res.statusCode === 401){
return res.redirect('index');
}
var feed = JSON.parse(body);
var users = feed.feed.entry.map(function (c) {
var r = {};
if(c['gd$name'] && ['gd$fullName']){
r.name = c['gd$name']['gd$fullName']['$t'];
}
if (c['gd$email'] && c['gd$email'].length > 0) {
r.email = c['gd$email'][0]['address'];
r.nickname = r.email;//c['gd$email'][0]['address'].split('@')[0];
}
if(c['link']){
var photoLink = c['link'].filter(function (link) {
return link.rel == 'http://schemas.google.com/contacts/2008/rel#photo' &&
'gd$etag' in link;
})[0];
if(photoLink) {
r.picture = '/users/photo?l=' + encodeURIComponent(photoLink.href);
} else if (r.email) {
r.picture = gravatar.url(r.email, {
s: 40,
d: "https://ssl.gstatic.com/s2/profiles/images/silhouette80.png"});
}
}
return r;
}).filter(function (u) {
return !!u.email && //we can only give access to persons with email at this point
!~u.email.indexOf('@reply.'); //adress with @reply. are usually temporary reply address for forum kind of websites.
});
res.json(users);
});
} के लिए
वास्तव में मदद की सराहना करते हैं।
इसके साथ कोई सफलता? – ac360
हाय, क्या आपको इस पर कुछ मिला? कृपया मेरी मदद करें, आपको यह नोडज कोड कहां से मिला? –
हाय, क्या आपको ऐसा करने का कोई संदर्भ मिला? – abdulbarik