나는이 같은 데이터를 수신하고 스프레드 시트를 저장하는 Google 애플리케이션 스크립트를 작성 브라우저와 데이터가 실제로 저장됩니다. 그러나 Android 앱에서이를 구현하려고 시도하면 작동하지 않습니다. 나는 AsyncTask에서 HttpGet
과 HttpPost
기술을 시도했지만 아무 것도 얻지 못했다. 다음은 HttpPost 코드입니다.HTTP 가져 오기/안드로이드에 게시 Google 애플리케이션 스크립트가 작동하지 않습니다는
class sendData extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
String [] data = params[0].split("-");
postData(data[0],data[1]);
}
@Override
protected void onPostExecute(String result) {
// Update Ui here
}
public void postData(String l1, String l2) {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://script.google.com/macros/s/.../exec");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("test", l1));
nameValuePairs.add(new BasicNameValuePair("testt", l2));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
}
어디에서 문제가 될 수 있습니까? 필자는 스크립트와 스프레드 시트의 개인 정보를 누구나 액세스 할 수 있고 편집 가능하도록 설정했지만 여전히 응답하지 않습니다. 나는 웹 개발자에게 조금 새로운 것 같아서 맨손으로!
수정 : 여기에 logcat이 있습니다. 확실하지 않은 경우 :
07-25 00:17:36.400: D/dalvikvm(31262): Late-enabling CheckJNI
07-25 00:17:36.415: I/dalvikvm(31262): Turning on JNI app bug workarounds for target SDK version 10...
07-25 00:17:36.420: E/jdwp(31262): Failed sending reply to debugger: Broken pipe
07-25 00:17:36.420: D/dalvikvm(31262): Debugger has detached; object registry had 1 entries
07-25 00:17:40.930: D/dalvikvm(31262): GC_CONCURRENT freed 220K, 7% free 12377K/13191K, paused 5ms+2ms, total 28ms
07-25 00:17:42.075: D/dalvikvm(31262): GC_CONCURRENT freed 314K, 7% free 12517K/13447K, paused 9ms+3ms, total 67ms
07-25 00:17:44.850: D/dalvikvm(31262): GC_CONCURRENT freed 341K, 7% free 12630K/13575K, paused 12ms+3ms, total 34ms
07-25 00:17:59.815: D/dalvikvm(31262): GC_CONCURRENT freed 435K, 8% free 12638K/13703K, paused 2ms+2ms, total 26ms
07-25 00:18:05.000: D/dalvikvm(31262): GC_CONCURRENT freed 380K, 8% free 12693K/13703K, paused 15ms+5ms, total 54ms
07-25 00:18:15.030: D/dalvikvm(31262): GC_CONCURRENT freed 366K, 8% free 12776K/13767K, paused 19ms+2ms, total 61ms
07-25 00:18:56.390: E/SpannableStringBuilder(31262): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
07-25 00:18:56.390: E/SpannableStringBuilder(31262): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
런타임에 logcat을 게시 할 수 있다면 도움이됩니다. 온전한 체크를 위해서, 앱에 인터넷 허가권을 줬어? – roostertech
나는 그것을 실제로 인터넷 허가했다. 나는 즉시 logcat을 게시 할 것이다. –