我试图制作一个使用g +头像和人名的谷歌appengine应用程序......
...
所以我的应用程序似乎需要google-api-python-client库。
...
启用对配置文件范围的访问,这样我就可以查找“我”并获取用户名和头像并将其放入我的用户对象中的几个属性中(使用按钮重新加载值或其他内容)。
有人这样做吗?或者有一个工作示例(甚至是指向我的应用程序授权范围= [profile]的方法的指针)?
我不需要google-api-python-client库。简单的方法是在客户端上使用纯js进行g +访问,然后查找并将结果推送到我的appengine应用程序。它不像通过后端那样安全,但它只适用于displayname和icon(无论如何都可以手动设置)。
我确实需要做一些其他调整才能让它工作......
遵循此工作流程: https://developers.google.com/+/web/signin/javascript-flow
需要注意的重要事项:
第1步还应声明您必须填写“API& auth” - > “同意屏幕”字段“PRODUCT NAME”和“EMAIL ADDRESS”或者您会收到奇怪的错误
您(可能)必须先 生成凭据(或删除并重新创建)
将meta google-signin-scope设置为“个人资料”(或者可能是“电子邮件”)
删除google-signin-requestvisibleactions的元标题(否则我的框架会出现相同的错误)
显然,步骤4中的按钮行需要在文档中的正文标记之后
跳过步骤2,步骤2中的代码也包含在步骤4
也在工作流程页面上,该页面上的“工作示例”按钮不起作用(不要尝试)
一旦我这样做,我可以将以下内容放入成功的回调代码中并进行查找:
gapi.client.load('plus','v1', function(){
var request = gapi.client.plus.people.get({ 'userId': 'me' });
request.execute(function(resp) {
console.log('Retrieved profile for:' + resp.displayName);
console.log(resp);
console.log(resp.result);
console.log(resp.result.displayName);
console.log(resp.result.image);
});
});
答案 0 :(得分:1)
您可以在此处查看有关如何使用客户端库的完整示例
https://code.google.com/p/google-api-python-client/source/browse/samples/plus/plus.py
我看到一段代码说明
try:
person = service.people().get(userId='me').execute()
print 'Got your ID: %s' % person['displayName']
https://developers.google.com/+/api/latest/people#resource
所以基本上人['image'] ['url']将成为你用户头像的路径。
完整文件夹:https://code.google.com/p/google-api-python-client/source/browse/samples/plus/