我想从Android应用程序中的Google表格中读取表格。
我想通过Google Sheets API做到这一点。
我将工作表声明为公共的,创建了API密钥,并尝试发送GET
服务调用:
https://sheets.googleapis.com/v4/spreadsheets/{My Sheet key}/values/responses:append?key={My API credential key}
我得到401代码。 响应:
请求缺少必需的身份验证凭据。预期的OAuth 2个访问令牌,登录cookie或其他有效的身份验证凭据。 看到 https://developers.google.com/identity/sign-in/web/devconsole-project。
我的代码:
private static final String SHEET_URL = "https://sheets.googleapis.com/v4/spreadsheets/1d534sQ5xaNbr65wMM_qH2yjXo3EPrrp3o34z-Foledg/values/responses:append?key=AIzaSyDT88Nq6jhtaKH-vIVEuvGO1d9Sx8ewR0w";
public String GetConanimList() throws Exception {
URL url = new URL(SHEET_URL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.setRequestProperty("Content-Type", "application/json");
OutputStream os = conn.getOutputStream();
String jsonPayload = null;
//os.write(jsonPayload.getBytes());
os.flush();
os.close();
int statusCode = conn.getResponseCode();
System.out.println("Response from WA Gateway: \n");
System.out.println("Status Code: " + statusCode);
BufferedReader br = new BufferedReader(new InputStreamReader(
(statusCode == 200) ? conn.getInputStream() : conn.getErrorStream()
));
String output;
String response = "";
while ((output = br.readLine()) != null) {
response = response + output;
}
conn.disconnect();
return response;
}
我想念什么?谢谢。
答案 0 :(得分:0)
要使用Google Sheets API,您需要authorize的请求。
有两种方法可以识别您的应用程序:使用OAuth 2.0 token(也可以授权请求)和/或使用 应用程序的API key。这是确定其中哪些方法的方法 使用的选项:
- 如果请求需要授权(例如对个人私人数据的请求),则应用程序必须随请求提供OAuth 2.0令牌。该应用程序也可以提供API密钥,但不是必须的。
- 如果该请求不需要授权(例如对公共数据的请求),则该应用程序必须提供API密钥或OAuth 2.0令牌,或同时提供这两者-无论哪种选择对您来说都是最方便的。
您也可以参考quickstart projects作为如何正确实施此方法的指南。