

最近、Android Studioで開発を始めたばかりなのですが、LINE
Notifyで自身のライングループにテストで10文字程度のメッセージを送りたいのです。  
LINE側のアクセストークン等は取得済であとはコードを記載するだけなのですが、どうコードを書けばいいのか解らず悩んでいます。

色々とググって調べてはみたのですが、参考のサイトはちらほらあるもののその通りにコード書いてもAndroid
Studio側でエラーが出るので使えず、途方に暮れています。

申しわけないが何か参考になるサイト、ヒント、参考コードをご教授頂けると助かります。  
宜しくお願い致します。

[code]

    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    public class Main {
      public static void main(String[] args) {
        HttpSendJSON httpSendJSON = new HttpSendJSON();
        String result = httpSendJSON.callPost();
        System.out.println(result);
      }
    }
    
    class HttpSendJSON {
      private String ACCESS_TOKEN = "アクセストークン";
      private String UID = "ユーザID";
      private String MESSAGE = "送信したいメッセージ";
    
      public String callPost() {
        HttpURLConnection con = null;
        StringBuffer result = new StringBuffer();
    
        try {
          URL url = new URL("https://api.line.me/v2/bot/message/push");
          con = (HttpURLConnection) url.openConnection();
    
          con.setDoOutput(true);
          con.setRequestMethod("POST");
          con.setRequestProperty("Authorization", "Bearer " + ACCESS_TOKEN);
          con.setRequestProperty("Content-Type", "application/json; charset=utf-8");
    
          String parameters = 
                    "{" +
                    String.format("\"to\": \"%s\",", UID) + 
                    "    \"messages\": [{" +
                    "        \"type\": \"text\"," +
                     String.format("\"text\": \"%s\"", MESSAGE) + 
                    "    }]" +
                    "}";
          System.out.println(parameters);
    
          OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream());
          out.write(parameters);
          out.flush();
          con.connect();
    
          final int status = con.getResponseCode();
          if (status == HttpURLConnection.HTTP_OK) {
              final InputStream in = con.getInputStream();
              String encoding = con.getContentEncoding();
              if (null == encoding) {
                  encoding = "UTF-8";
              }
              final InputStreamReader inReader = new InputStreamReader(in, encoding);
              final BufferedReader bufReader = new BufferedReader(inReader);
              String line = null;
    
              while ((line = bufReader.readLine()) != null) {
                  result.append(line);
              }
              bufReader.close();
              inReader.close();
              in.close();
          } else {
              System.out.println(status);
          }
        } catch (Exception e1) {
          e1.printStackTrace();
        } finally {
          if (con != null) {
            con.disconnect();
          }
        }
        return result.toString();
      }
    }
    
[/code]


CC BY-SA 4.0
2020-10-03T06:05:54.013
70894
2023-07-01T02:08:36.117
2020-10-04T08:08:14.173
41441
41441
question
java android line
Android Studioで作成したプログラムからLINEへメッセージを送付したい


Androidでhttp通信を行う方法を整理してからOauthについての実装を行われたほうがいいと思います。

[AndroidでHTTP通信したいときの手段まとめ -
Qiita](https://qiita.com/riversun/items/5f78d47a3d95f857d34f)

とりあえずでの疎通確認を行いたいのであればpostmanやその他http通信の記述しやすい言語で試験をした後に自作した通信系の実装を組み換えて開発されるのがよろしいのではないでしょうか？


CC BY-SA 4.0
2020-10-05T04:20:23.487
70918
2020-10-05T04:29:13.733
2020-10-05T04:29:13.733
3060
42189
70894
answer