【问题标题】:Cannot authorize request to Google fusion tables API无法授权对 Google fusion tables API 的请求
【发布时间】:2013-08-20 13:58:58
【问题描述】:

我正在编写一个小型 java 安装应用程序,它将在桌面上运行,以与 google 融合表交互,但我不断收到 401 未经授权的错误。这是我用来连接和查询表的代码:

/** Global instance of the HTTP transport. */
private static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
/** Global instance of the JSON factory. */
private static final JsonFactory JSON_FACTORY = new JacksonFactory();

private static void insertData(String query) throws IOException {
    BasicAuthentication credential = new BasicAuthentication(username, password);
    fusiontables = new Fusiontables.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential).setApplicationName(
            "Google-FusionTablesSample/1.0").build();
    Query q = fusiontables.query();
    Sql sql = q.sql(query);

    try {
        sql.execute();
    } catch (IllegalArgumentException e) {

    }
}

该表是在我的帐户中创建的,并且我正在使用我的帐户的用户名和密码,所以我知道这并不是我使用了错误的登录信息。这是我第一次使用 java 和 oauth 做任何事情,所以任何人都可以帮我弄清楚我在这里做错了什么吗?

【问题讨论】:

    标签: java oauth-2.0 google-oauth google-api-java-client


    【解决方案1】:

    您似乎在进行基本身份验证(即在每个请求中都清楚地发送您的用户名和密码),这根本不是 OAuth。我认为融合表 API 不支持基本身份验证。

    这是 OAuth 2 文档: https://developers.google.com/accounts/docs/OAuth2

    请注意您的密码,不要在 API 调用中发送。

    【讨论】:

      猜你喜欢
      • 2014-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      • 1970-01-01
      • 2019-04-07
      相关资源
      最近更新 更多