融合表和服务帐户

时间:2015-10-08 04:49:05

标签: android google-fusion-tables google-account

我正在尝试将我的应用上传到Fusion Tables,而无需事先授予每个用户对表的写入权限。这是出于安全原因,只是为了简化系统。

目前,要创建com.google.api.services.fusiontables.Fusiontables的实例,我会:

private static Fusiontables constructFusionTables(Context context) {
    GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(context,
    Arrays.asList("https://www.googleapis.com/auth/fusiontables"));
    String username = "someuser@gmail.com";
    credential.setSelectedAccountName(username);
    return fusiontables = new Fusiontables.Builder(HTTP_TRANSPORT,
                JSON_FACTORY, credential).setApplicationName("someappname")
                .build();
}

当我尝试使用服务帐户电子邮件(XXXXXXX@developer.gserviceaccount.com)时,使用该FusionTables实例进行的所有Fusion Tables查询都无法告诉我该名称不能为空。

作为测试的快速解决方法,我尝试对设备的Google帐户列表中没有的用户名(someuser@gmail.com)进行硬编码,但它给了我同样的错误。

当我使用手机上存在的普通user@gmail.com帐户时,系统不会显示错误。

您能否指导我如何在Android中为Fusion Tables实施服务帐户?

0 个答案:

没有答案