2013-08-20 44 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調用發送。