我使用Maven项目具有以下依赖性:GoogleTransport类问题
<dependency>
<groupId>com.google.api.client</groupId>
<artifactId>google-api-client-googleapis-auth-clientlogin</artifactId>
<version>1.2.3-alpha</version>
</dependency>
当我运行下面的代码:
import java.io.IOException;
import com.google.api.client.googleapis.GoogleTransport;
import com.google.api.client.googleapis.auth.clientlogin.ClientLogin;
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpResponseException;
import com.google.api.client.http.HttpTransport;
/**
* Hello world!
*
*/
public class App
{
public static void main(String[] args) throws IOException
{
HttpTransport transport = GoogleTransport.create();
// transport.addParser(new JsonCParser());
try {
// authenticate with ClientLogin
ClientLogin authenticator = new ClientLogin();
authenticator.authTokenType = "ndev";
authenticator.username = "....";
authenticator.password = "....";
authenticator.authenticate().setAuthorizationHeader(transport);
// make query request
HttpRequest request = transport.buildGetRequest();
request.setUrl("https://www.googleapis.com/bigquery/v1/query");
request.url.put(
"q", "select count(*) from [bigquery/samples/shakespeare];");
System.out.println(request.execute().parseAsString());
} catch (HttpResponseException e) {
System.err.println(e.response.parseAsString());
throw e;
}
}
}
我得到以下异常:
Exception in thread "main" java.lang.IllegalStateException: Missing required low-level HTTP transport package.
Use package "com.google.api.client.javanet".
at com.google.api.client.http.HttpTransport.useLowLevelHttpTransport(HttpTransport.java:129)
at com.google.api.client.http.HttpTransport.<init>(HttpTransport.java:187)
at com.google.api.client.googleapis.GoogleTransport.create(GoogleTransport.java:58)
at com.example.clientlogin.App.main(App.java:18)
什么GoogleTransport类有问题吗?
感谢你这样做有问题,但我得到了一个错误说{ “错误”:{ “错误”: { “域”:“全局”, “理由”:“authError”, “消息”: “无效凭证”, “的locationType”: “首标”, “位置”: “授权” } ], “代码”:401, “消息”: “无效凭证” } } 线程“main”中的异常com.google.api.client.http.HttpResponseException:401未授权 \t at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:209) \t at com.example.clientlogin.App.main(App.java:32) – othman
我使用了正确的用户名和密码为什么会引发此错误? – othman
是否为b/i注释行transport.addParser(new JsonCParser()); ?我找不到课JsonParser – othman