google-app-engine - Fusion Table 和 Google 服务帐户

标签 google-app-engine google-fusion-tables

我正在尝试使用 Google 服务帐户从我的 AppENgine Java 应用程序访问 Fusion 表。此代码段用于获取 OAuth 访问 token :

 ArrayList<String> scopes = new ArrayList<String>();
 scopes.add("https://www.googleapis.com/auth/fusiontables");
 DataAccessService fusionTablesService = EnvironmentServic.getEnvironmentService().getService(DataAccessService.class);
 String token = AppIdentityServiceFactory.getAppIdentityService().getAccessToken(scopes).getAccessToken();

我能够成功获得访问 token ,但是当我尝试执行 CREATE TABLE 查询时,我得到:

   <HTML>
    <HEAD>
     <TITLE>Login required</TITLE>
    </HEAD>
    <BODY BGCOLOR="#FFFFFF" TEXT="#000000">
     <H1>Login required</H1>
     <H2>Error 401</H2>
    </BODY>
   </HTML>

服务帐户是否适用于 Fusion Tables?

最佳答案

我不是很熟悉 Fusion Tables,但您可能需要:

1) 授予服务帐户(“电子邮件地址”可在管理控制台中找到)访问该表的权限。这可能会通过位于 https://developers.google.com/appengine/articles/prediction_service_accounts 的示例发生作为此过程的起点可能会有所帮助。

2) 登录有权访问该表(或您尝试访问其数据)的用户,并让他们授权使用三足 OAuth 流程访问应用程序。如果您正在访问最终用户(例如:joe@gmail.com)拥有的数据,那么您可能需要这样做。

希望这对您有所帮助。

关于google-app-engine - Fusion Table 和 Google 服务帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10338497/

相关文章:

node.js - 生成器权限被拒绝。无法在谷歌云上部署

python - 如何在Google App Engine中定义具有多对多关系的模型?

google-app-engine - 如何在 Google 应用引擎中设置自定义 NotFound 页面

java - session 超时(session.setMaxInactiveInterval)在 Google Appengine 中不起作用

google-maps - 融合表过滤条件或

java - 设计一个使用或不使用 Google App Engine 进行部署的应用程序

c# - 以编程方式将数据插入到 FusionTables

javascript - 如何使用 javascript 将表单输出链接到谷歌融合表查询

javascript - Google Fusion Tables and Maps - 检测区域中的地址

google-fusion-tables - 对 Google Fusion Tables 的数量请求的硬性限制?定价计划?