在学习关于将OAuth 2与Android AccountManager一起使用的教程时,我被告知在指定AUTH_TOKEN_TYPE时,而不是像这样指定范围:
String AUTH_TOKEN_TYPE = "oauth2:https://www.googleapis.com/auth/tasks";
你可以使用它的别名:
String AUTH_TOKEN_TYPE = "Manage your tasks";
这允许用户了解权限是关于什么的,而不是被赋予URL。我试图弄清楚Google文档列表API的别名是什么。
然后,该文档指向一个auth令牌别名列表,但遗憾的是,该列表并不存在。还有一个相关的Youtube视频,开发者在视频中提到了Google Buzz的别名,还提到在某个时候会建立一个别名列表。
我可以使用什么来代替谷歌文档范围?
String AUTH_TOKEN_TYPE = "oauth2:https://docs.google.com/feeds/"
我发现了这个列表,它似乎包含了各种谷歌服务的身份验证令牌类型的可能别名:http://code.google.com/intl/ja/apis/gdata/faq.html#clientlogin
尽管它不是特别用户友好,但您似乎可以使用"writely"作为检索文档列表的别名。谷歌搜索AUTH_TOKEN_TYPE = 'writely';
会返回一些结果,这看起来很有希望!
我试图访问Google Drive,而不是Docs,但以下是我为授权令牌类型输入的内容:
String AUTH_TOKEN_TYPE = "oauth2:" + DriveScopes.DRIVE;
DriveScopes是一个可能的授权作用域列表。DriveScopes.DRIVE是列表中的特定字符串,用于获取我想要的特定作用域。(它返回"https://www.googleapis.com/auth/drive".)
我将"oauth2:"附加到前面,以指定我想要一个oauth2令牌。
此代码会要求用户获得"管理您的驱动器"或类似内容的权限。它没有弹出显示地址。
希望这能帮助其他人找到找到自己的AUTH_TOKEN_TYPE所需的类似代码。(在您的情况下,可以尝试DocScopes或DocsScopes,插入一个句点,看看Eclipse建议的自动完成是什么?)
据推测,这一问题已在冰淇淋三明治中得到解决(尚未测试):https://plus.google.com/u/0/112215288642007559493/posts/Zme5LNLwCDP
我想你可以在Gingerbread中使用短名称,在ICS中使用普通名称。