我正在尝试使用historyId对历史端点进行GMAIL API调用。此调用适用于Postman,我会收到一个json响应。但是,当我尝试在Android Studio中实现相同功能时,它将返回404 Not Found错误。有人可以帮我吗?
URL urlHist = new URL("https://www.googleapis.com/gmail/v1/users/me/history?startHistoryId="+historyId);
HttpURLConnection connHist = (HttpURLConnection) urlHist.openConnection();
connHist.setRequestProperty("Authorization",token);
connHist.setRequestMethod("GET");
connHist.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
connHist.setRequestProperty("Accept","application/json");
connHist.setDoOutput(true);
connHist.setDoInput(true);
DataOutputStream os = new DataOutputStream(connHist.getOutputStream());
os.flush();
os.close();
答案 0 :(得分:0)
您应该使用Gmail API构建请求。 Here您可以找到有关Java入门的示例。您的请求应翻译如下:
private static final String APPLICATION_NAME = "Your Android APP name";
private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
//...
final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
Gmail service = new Gmail.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT))
.setApplicationName(APPLICATION_NAME)
.build();
ListHistoryResponse history = service.users().history().list("me").setStartHistoryId(historyId).execute();