Javascript 如何访问登录的G+;用户';s公共配置文件(至少用户ID)
我正在编写一个JS应用程序,需要使用登录的G+用户的公共配置文件图片 如果我有用户ID,我可以使用Google+API查询配置文件数据Javascript 如何访问登录的G+;用户';s公共配置文件(至少用户ID),javascript,google-plus,Javascript,Google Plus,我正在编写一个JS应用程序,需要使用登录的G+用户的公共配置文件图片 如果我有用户ID,我可以使用Google+API查询配置文件数据 但是,如何获取当前登录用户的用户ID?用户需要使用登录API将其Google+帐户连接到您的应用程序 见: 用户登录后,您可以使用用户ID“me”获取其数据: <button class="g-signin" data-scope="https://www.googleapis.com/auth/plus.login" d
但是,如何获取当前登录用户的用户ID?用户需要使用登录API将其Google+帐户连接到您的应用程序 见: 用户登录后,您可以使用用户ID“me”获取其数据:
<button class="g-signin"
data-scope="https://www.googleapis.com/auth/plus.login"
data-clientid="{ YOUR_CLIENT_ID }"
data-callback="onSignIn"
data-theme="dark"
data-cookiepolicy="single_host_origin"
data-requestvisibleactions="http://schemas.google.com/AddActivity"
data-width="wide">
</button>
(function() {
window.onSignIn = function(authResult) {
if (authResult.access_token) {
console.log('success');
gapi.client.load('plus','v1', function(){
var request = gapi.client.plus.people.get({'userId' : 'me'});
request.execute(function(response) {
console.log('ID: ' + response.id);
console.log('Display Name: ' + response.displayName);
console.log('Image URL: ' + response.image.url);
console.log('Profile URL: ' + response.url);
});
});
} else if (authResult.error) {
console.log('There was an error: ' + authResult.error);
}
};
var po = document.createElement('script'); po.type = 'text/javascript';
po.async = true;
po.src = 'https://apis.google.com/js/client:plusone.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(po, s);
})();
(功能(){
window.onSignIn=函数(authResult){
if(authResult.access\u令牌){
console.log('success');
load('plus','v1',function(){
var request=gapi.client.plus.people.get({'userId':'me'});
请求.执行(函数(响应){
console.log('ID:'+response.ID);
console.log('Display Name:'+response.displayName);
log('Image URL:'+response.Image.URL);
log('Profile URL:'+response.URL);
});
});
}else if(authResult.error){
console.log('出现错误:'+authResult.error);
}
};
var po=document.createElement('script');po.type='text/javascript';
po.async=true;
po.src=https://apis.google.com/js/client:plusone.js';
var s=document.getElementsByTagName('script')[0];
s、 parentNode.insertBefore(po,s);
})();
见:
下面是一个工作示例:用户需要使用登录API将其Google+帐户连接到您的应用程序 见: 用户登录后,您可以使用用户ID“me”获取其数据:
<button class="g-signin"
data-scope="https://www.googleapis.com/auth/plus.login"
data-clientid="{ YOUR_CLIENT_ID }"
data-callback="onSignIn"
data-theme="dark"
data-cookiepolicy="single_host_origin"
data-requestvisibleactions="http://schemas.google.com/AddActivity"
data-width="wide">
</button>
(function() {
window.onSignIn = function(authResult) {
if (authResult.access_token) {
console.log('success');
gapi.client.load('plus','v1', function(){
var request = gapi.client.plus.people.get({'userId' : 'me'});
request.execute(function(response) {
console.log('ID: ' + response.id);
console.log('Display Name: ' + response.displayName);
console.log('Image URL: ' + response.image.url);
console.log('Profile URL: ' + response.url);
});
});
} else if (authResult.error) {
console.log('There was an error: ' + authResult.error);
}
};
var po = document.createElement('script'); po.type = 'text/javascript';
po.async = true;
po.src = 'https://apis.google.com/js/client:plusone.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(po, s);
})();
(功能(){
window.onSignIn=函数(authResult){
if(authResult.access\u令牌){
console.log('success');
load('plus','v1',function(){
var request=gapi.client.plus.people.get({'userId':'me'});
请求.执行(函数(响应){
console.log('ID:'+response.ID);
console.log('Display Name:'+response.displayName);
log('Image URL:'+response.Image.URL);
log('Profile URL:'+response.URL);
});
});
}else if(authResult.error){
console.log('出现错误:'+authResult.error);
}
};
var po=document.createElement('script');po.type='text/javascript';
po.async=true;
po.src=https://apis.google.com/js/client:plusone.js';
var s=document.getElementsByTagName('script')[0];
s、 parentNode.insertBefore(po,s);
})();
见:
下面是一个工作示例:Thank@imcg我让用户登录正常,但当我在成功回调中运行您的代码(上面)时,我得到:“Uncaught TypeError:无法读取未定义的属性'people'”我需要库来支持此请求吗?任何想法都会大有帮助。。。我只知道我错过了一些明显的东西?!?我已经使用clientid使quickstart应用程序正常工作。所以我会试着从那里解决问题。是的,我错过了一步(你可能已经猜到了)。做了一个工作小提琴:去更新答案。完美!谢谢@imcg:DThanks@imcg我让用户登录正常,但当我在成功回调中运行您的代码(如上)时,我得到:“未捕获类型错误:无法读取未定义的属性'people'”我是否需要库来支持此请求?任何想法都会大有帮助。。。我只知道我错过了一些明显的东西?!?我已经使用clientid使quickstart应用程序正常工作。所以我会试着从那里解决问题。是的,我错过了一步(你可能已经猜到了)。做了一个工作小提琴:去更新答案。完美!谢谢@imcg:D