易信的API接口做的还算简单

http://open.yixin.im/document/oauth/api

根据指南上的步骤,利用易信提供的测试ID

AppID(client_id): yxbbd0e8b3dce64e02bab42437becc4384       AppSecret:5a1db5830047b4a

可以很容易获得access_token,以及指定联系人的toAccountId

下面,利用前几篇博文提到的apache http组件,向易信的web service提交测试请求

package com.newflypig.demo;

import java.util.ArrayList;
import java.util.List; import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils; /**
* 向易信服务器发送POST请求示例
* @author newflydd
* 易信授权的相关数据如下:
* url:https://open.yixin.im/api/sendp2pmsg
* access_token:b2421624-db5c-44d1-93f0-1e71f9cXXXXX
* toAccountId:6c0f7514f4bdXXXX(唐蔚);fd60e46db0dc119cfea740c3375XXXXX(王群)
* content:需要推送的数据
* {"text_content": "这段文字发送自易信SDK示例程序,并且由服务器自动调用发送","desc": "不需要描述","type":"text"}
* {
"image": "http://img.hoop8.com/attachments/1510/911826782594.jpg",
"title": "新增发展积分",
"url": "http://img.hoop8.com/attachments/1510/911826782594.jpg",
"type":"image"
}
*
*/ public class SendPostToYixin { public static void main(String[] args) throws Exception{
HttpClient client=HttpClients.createDefault();
HttpPost post=new HttpPost("https://open.yixin.im/api/sendp2pmsg"); List<NameValuePair> parameters=new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("access_token", "b2421624-db5c-44d1-93f0-1e71f9cXXXXX"));
parameters.add(new BasicNameValuePair("toAccountId", "fd60e46db0dc119cfea740c337XXXXX"));
parameters.add(new BasicNameValuePair("content", "{\"text_content\":\"这段文字发送自易信SDK示例程序,并且由服务器自动调用发送\",\"desc\":\"不需要描述\",\"type\":\"text\"}")); post.setEntity(new UrlEncodedFormEntity(parameters,"UTF-8")); HttpResponse response=client.execute(post);
System.out.println(EntityUtils.toString(response.getEntity()));
}
}

很简单,简单得我都不愿意多解释

对了,博主的access_token和toAccountId最后三个字母做了修改,否则的话大家都可以利用这两个参数以我的名义向好友发送消息了。

最后成功了以后,在易信客户端可以看到如下的效果:

JAVA调用易信接口向指定好友推送消息(二)POST测试的更多相关文章

  1. JAVA调用易信接口向指定好友推送消息(一)背景需求

    众所周知,中国电信内部一直使用易信群进行交流 各种工作交流都在易信群里面沟通 包括投诉处理,障碍报修,拍照上传 最重要的就是每天甚至每个时点的指标完成情况的通报 所以只能用4个字来形容 String ...

  2. JAVA多线程(四) Executor并发框架向RabbitMQ推送消息

    github代码地址: https://github.com/showkawa/springBoot_2017/tree/master/spb-demo/spb-brian-query-service ...

  3. SignalR指定用户推送消息

    一.首先,在MVC项目中安装SingalR包(SingalR2.0需要.net4.5以上,VS2010可以安装1.1.3版本,本例为VS2010+SignalR1.1.3). 打开工具-NuGet程序 ...

  4. Java调用第三方http接口的方式

    1. 概述 在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适.很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对方提供的接口或第三方接口(短信.天气等). 在J ...

  5. 发送短信验证码及调用短信接口与C# 后台 post 发送

    #region 调用短信接口 public ActionResult Mobile(string Tel)//调用接口 { Random rm = new Random(); int i; strin ...

  6. Java调用Http/Https接口(6)--RestTemplate调用Http/Https接口

    RestTemplate是Spring提供的用于访问Http接口的客户端,提供同步的API:在将来的Spring版本中可能会过时,将逐渐被WebClient替代.文中所使用到的软件版本:Java 1. ...

  7. Java调用Http/Https接口(5)--HttpAsyncClient调用Http/Https接口

    HttpAsyncClient是HttpClient的异步版本,提供异步调用的api.文中所使用到的软件版本:Java 1.8.0_191.HttpClient 4.1.4. 1.服务端 参见Java ...

  8. Java调用Http/Https接口(4)--HttpClient调用Http/Https接口

    HttpClient是Apache HttpComponents项目下的一个组件,是Commons-HttpClient的升级版,两者api调用写法也很类似.文中所使用到的软件版本:Java 1.8. ...

  9. Java调用Http/Https接口(3)--Commons-HttpClient调用Http/Https接口

    Commons-HttpClient原来是Apache Commons项目下的一个组件,现已被HttpComponents项目下的HttpClient组件所取代:作为调用Http接口的一种选择,本文介 ...

随机推荐

  1. 使用libuv实现生产者和消费者模式

    生产者和消费者模式(Consumer + Producer model) 用于把耗时操作(生产线程),分配给一个或者多个额外线程执行(消费线程),从而提高生产线程的响应速度(并发能力) 定义 type ...

  2. WPF 多线程处理(3)

    WPF 多线程处理(1) WPF 多线程处理(2) WPF 多线程处理(3) WPF 多线程处理(4) WPF 多线程处理(5) WPF 多线程处理(6) 首先我们需要几个属性来保存取得的数据,因为在 ...

  3. BZOJ 3875: [Ahoi2014]骑士游戏 dp+spfa

    题目链接: 题目 3875: [Ahoi2014]骑士游戏 Time Limit: 30 Sec Memory Limit: 256 MB 问题描述 [故事背景] 长期的宅男生活中,JYY又挖掘出了一 ...

  4. mvc 分页js

    <script type="text/javascript">     var configA = {         options: {             m ...

  5. 【DP】BZOJ 1260: [CQOI2007]涂色paint

    1260: [CQOI2007]涂色paint Time Limit: 30 Sec  Memory Limit: 64 MBSubmit: 893  Solved: 540[Submit][Stat ...

  6. 【POJ】【2348】Euclid‘s Game

    博弈论 题解:http://blog.sina.com.cn/s/blog_7cb4384d0100qs7f.html 感觉本题关键是要想到[当a-b>b时先手必胜],后面的就只跟奇偶性有关了 ...

  7. 各种matrix

    http://www.gamedev.net/topic/602722-worldviewproj/

  8. [C/CPP系列知识] 那些程序C语言可以编译通过但C++无法编译成功 Write a C program that won’t compile in C++

    http://www.geeksforgeeks.org/write-c-program-wont-compiler-c/ 1) C++中在函数声明之前调用一个函数会引发错误,但是在C中有可能可以. ...

  9. StringUtils.isNumeric使用

    在做导入/导出功能时,客户要求导出数字类型的值时,将excel相应单元格属性设为number型,由此需判断字符串值是否为数字,代码如下: public static boolean isNumber( ...

  10. struts2 json关于Date日期的解析

    在get方法前加上: @JSON(format="yyyy-MM-dd HH:mm:ss")