0

Android の携帯電話から Google ドキュメントにデータを投稿しようとしていますが、リクエストを送信するたびに、奇妙な html (エラーではない) ページが返されます。

デバイスで生成したものと同じ URL をコピーしてデスクトップ ブラウザに貼り付けると、問題なく動作します (Postman を使用しているため、Post/Get 動詞エラーではありません)。

私の推測では、Google ドキュメントが私のデバイスを Android デバイスとして認識し、リクエストを Android Google ドキュメント ページにリダイレクトしていると思われます。これが起こらないようにする方法はありますか?

これが私のコードです:

HttpClient httpclient = new DefaultHttpClient();

        try {
              HttpPost httppost = new HttpPost("https://docs.google.com/macros/exec?" +
                    "service=..." +
                    "&Param1=" + java.net.URLEncoder.encode(param1, "ISO-8859-1"));

              Log.v("Request", httppost.getURI().toString());

              InputStream localInputStream = httpclient.execute(httppost).getEntity().getContent();
              byte bytes[] = new byte[20000];
              localInputStream.read(bytes);

              Log.e("LOG", new String(bytes));

        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
        } catch (IOException e) {
            // TODO Auto-generated catch block
        }

そして、ここに私が戻ってくるページがあります:

10-14 14:27:39.749: E/html(15814): <!DOCTYPE html>
10-14 14:27:39.749: E/html(15814): <html lang="en">
10-14 14:27:39.749: E/html(15814):   <head>
10-14 14:27:39.749: E/html(15814):   <meta charset="utf-8">
10-14 14:27:39.749: E/html(15814):   <title>Welcome to Google Docs</title>
10-14 14:27:39.749: E/html(15814): <style type="text/css">
10-14 14:27:39.749: E/html(15814):   html, body, div, h1, h2, h3, h4, h5, h6, p, img, dl,
10-14 14:27:39.749: E/html(15814):   dt, dd, ol, ul, li, table, tr, td, form, object, embed,
10-14 14:27:39.749: E/html(15814):   article, aside, canvas, command, details, fieldset,
10-14 14:27:39.749: E/html(15814):   figcaption, figure, footer, group, header, hgroup, legend,
10-14 14:27:39.749: E/html(15814):   mark, menu, meter, nav, output, progress, section, summary,
10-14 14:27:39.749: E/html(15814):   time, audio, video {
10-14 14:27:39.749: E/html(15814):   margin: 0;
10-14 14:27:39.749: E/html(15814):   padding: 0;
10-14 14:27:39.749: E/html(15814):   border: 0;
10-14 14:27:39.749: E/html(15814):   }
10-14 14:27:39.749: E/html(15814):   article, aside, details, figcaption, figure, footer,
10-14 14:27:39.749: E/html(15814):   header, hgroup, menu, nav, section {
10-14 14:27:39.749: E/html(15814):   display: block;
10-14 14:27:39.749: E/html(15814):   }
10-14 14:27:39.749: E/html(15814):   html {
10-14 14:27:39.749: E/html(15814):   font: 81.25% arial, helvetica, sans-serif;
10-14 14:27:39.749: E/html(15814):   background: #fff;
10-14 14:27:39.749: E/html(15814):   color: #333;
10-14 14:27:39.749: E/html(15814):   line-height: 1;
10-14 14:27:39.749: E/html(15814):   direction: ltr;
10-14 14:27:39.749: E/html(15814):   }

... and so on.
4

2 に答える 2

0

ユーザーエージェントの文字列によって、それが電話かどうかを判断していると思います。自分に合ったブラウザのユーザーエージェントを見つけ、次のリンクを使用して変更します。

ユーザーエージェントの変更

于 2012-10-14T18:50:11.503 に答える
0

したがって、問題はユーザー エージェントではなく、アクセス許可にありました。誰でもアクセスできるように設定しましたが、「匿名でも誰でも」ではありませんでした。

于 2012-10-14T19:06:33.747 に答える