2013-08-20 47 views
0

我正在编写一个小型的Java安装应用程序,它将在桌面上运行,与Google融合表进行交互,并且一直收到401未经授权的错误。下面是我使用的连接和查询表的代码:无法授权请求Google聚合表API

/** 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做任何事情,所以任何人都可以帮我弄清楚我在这里做错了什么?

回答

0

你似乎在做基本身份验证(根据每个请求发送用户名和密码),这根本不是OAuth。我不认为融合表API支持基本身份验证。

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

要非常小心你的密码,不要在API调用发送。