【问题标题】:Android: Unable to fetch data with JSONAndroid:无法使用 JSON 获取数据
【发布时间】:2026-01-22 15:30:01
【问题描述】:

当我尝试进行服务调用以从谷歌电子表格中提取数据时,JSON 给了我一个空响应?任何想法为什么?

主要活动

private static final String url = https://docs.google.com/spreadsheets/d/1jEN1mzN9modYCdNKziBjaPZDl2L3lmnX2rVA1GVVPB8/gviz/tq?tq=select+*&usp=drive_web&pli=1#gid=0";

ServiceHandler serviceHandler = new ServiceHandler();
// Making a request to url and getting response
String jsonStr =  serviceHandler.makeServiceCall(url,ServiceHandler.GET,null);
Log.d("Response: ", "> " + jsonStr);

清单权限

<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

把猫放出来

libcore.io.GaiException:getaddrinfo 失败:EAI_NODATA(否 与主机名关联的地址) 响应:(5829):>空

【问题讨论】:

  • 在此处发布网址?您的清单是否还具有所有必需的权限?
  • URL-docs.google.com/spreadsheets/d/…*&usp=drive_web&pli=1#gid=0
  • 这可能对你有帮助...*.com/questions/19951466/…
  • @AkankshaSawarkar 我认为问题在于该文件仅对该文件具有私有访问权限。您需要更改对该文件的权限(public -all on web 可以访问)或者您可以使用 dropbox(也是具有公共访问权限的文件,我之前也这样做过,所以它可以 100% 工作)
  • 我已经向公众开放了它。要求是从谷歌电子表格访问数据并将其显示到应用程序中,我现在不能使用下拉框。您还有其他解决方案吗?

标签: android json google-sheets google-spreadsheet-api


【解决方案1】:

@Andrew V. ...我认为这可能不是问题...上面的 url 正在浏览器上,结果来了

下面是响应json

{"version":"0.6","reqId":"0","status":"ok","sig":"1945351512","table":{"cols":[{"id":"A","label":"Sr No","type":"number","pattern":"General"},{"id":"B","label":"Customer Id","type":"number","pattern":"General"},{"id":"C","label":"Business Name","type":"string"},{"id":"D","label":"Logo Image Link","type":"string"},{"id":"E","label":"Address","type":"string"},{"id":"F","label":"Phone No","type":"number","pattern":"General"},{"id":"G","label":"Email","type":"string"},{"id":"H","label":"Browser Url","type":"string"},{"id":"I","label":"PhotoShoot Link","type":"string"},{"id":"J","label":"Offers","type":"string"}],"rows":[{"c":[{"v":1.0,"f":"1"},{"v":1.0,"f":"1"},{"v":"Dr. Bipin Deshpande"},{"v":"-"},{"v":"Chaitanya Clinic, Lane No 8, Dahanukar Colony, Kothrud, Pune"},{"v":2.025390409E9,"f":"2025390409"},{"v":"drbipin62@gmail.com"},{"v":"http://www.drbipindeshpande.com/"},{"v":"https://www.google.com/maps/@18.495701,73.811325,3a,75y,331.11h,81.46t/data=!3m5!1e1!3m3!1soIQo9XrXtKEAAAAGOwGu_Q!2e0!3e2?hl=en-GB"},{"v":"Coming soon..."}]}]}}

@Akansha ...尝试记录服务调用并检查网址..我认为您的网址有问题...

【讨论】:

  • 它在浏览器上显示正确的 JSON 响应,但在通过 android 应用程序调用时未获得有效的 JSON 响应。你能建议我如何将 URL 响应转换为有效的 JSON。
  • @AkankshaSawarkar 首先尝试记录从应用程序命中的 url...并检查 url 是否正确...我认为 url 有问题...响应是最后一步..您在第一步中遇到错误,即调用服务(向 url 发送请求)