项目源代码:http://download.csdn.net/detail/mrlixirong/3804385

import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.*;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import android.content.Context;
/**
*
* @author mrlixirong
*
*  2011-11-16
*
*/
public class WeiboQQAPI {
/**
*
* @param oauth 成功授权的oauth
* @param content 发布内容
* @param clientip ip,可选
* @param jing 经度,可选
* @param wei 纬度,可选
* @param context 用于获取联网管理设备
* @return 此处直接返回相应代码
*/
public static String sendMessage(Oauth oauth,String content,String clientip,String jing,String wei,Context context){
String url="http://open.t.qq.com/api/t/add";
oauth.oauth_nonce=Utils.getRandomString(32);
oauth.oauth_timestamp=String.valueOf(System.currentTimeMillis()/1000);
//
BaseString bs=new BaseString();
bs.setHttpMethod("POST");
bs.setURL(url);
bs.addParams("oauth_consumer_key", oauth.oauth_consumer_key);
bs.addParams("oauth_token", oauth.oauth_token);
bs.addParams("oauth_nonce", oauth.oauth_nonce);
bs.addParams("oauth_timestamp", oauth.oauth_timestamp);
bs.addParams("oauth_signature_method","HMAC-SHA1");
bs.addParams("oauth_version","1.0");
bs.addParams("format", "json");
bs.addParams("content", URLEncoder.encode(content));
bs.addParams("clientip", clientip);
bs.addParams("jing", jing);
bs.addParams("wei", wei);
oauth.oauth_signature=Utils.getSignature(bs.getBaseString(),oauth.oauth_consumer_secret+"&"+oauth.oauth_token_secret);
//
try {
DefaultHttpClient httpClient=new DefaultHttpClient();
/*
* 一下屏蔽内容为代理设置相关
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if(cm!=null){
NetworkInfo  activeNetInfo = cm.getActiveNetworkInfo();
if(!activeNetInfo.getTypeName().equals("WIFI")){
String host=Proxy.getDefaultHost();
int port = Proxy.getPort(context);
HttpHost httpHost = new HttpHost(host, port);
httpClient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY,httpHost);
}
}
*/
HttpPost post=new HttpPost(url);
post.getParams().setParameter("http.socket.timeout",new Integer(20000));
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("oauth_consumer_key",oauth.oauth_consumer_key));
params.add(new BasicNameValuePair("oauth_token",oauth.oauth_token));
params.add(new BasicNameValuePair("oauth_version","1.0"));
params.add(new BasicNameValuePair("oauth_signature_method","HMAC-SHA1"));
params.add(new BasicNameValuePair("oauth_signature",oauth.oauth_signature));
params.add(new BasicNameValuePair("oauth_nonce",oauth.oauth_nonce));
params.add(new BasicNameValuePair("oauth_timestamp",oauth.oauth_timestamp));
params.add(new BasicNameValuePair("format","json"));
params.add(new BasicNameValuePair("content",content));
params.add(new BasicNameValuePair("clientip",clientip));
params.add(new BasicNameValuePair("jing",jing));
params.add(new BasicNameValuePair("wei",wei));
HttpEntity httpEntity=new UrlEncodedFormEntity(params,HTTP.UTF_8);
post.setEntity(httpEntity);
HttpResponse response=httpClient.execute(post);
StatusLine sl=response.getStatusLine();
int code = sl.getStatusCode();
if(code==200){
String result = EntityUtils.toString(response.getEntity());
return result;
}else{
return "false";
}
} catch (Exception e) {
return "false";
}
}
}

Android腾讯微博开放平台入门(四)发表一条文字微博相关推荐

  1. 网站接入微博快捷登录-微博开放平台

    微博开放平台地址 因为我是接入web网站微博登录功能,所以,跳过移动应用部分,向下滑动 Web网站 OAuth2.0授权,与微博登录组件. 示例 使用接口深度开发,适合后端开发人员 使用微博的OAut ...

  2. 腾讯微博开放平台 android登录界面显示为pc登录界面 解决方案

    腾讯微博开放平台的登录授权一直没有官方的sdk,下载的sdk开始正常使用无问题,但是某天,我们用htc g10  android2.3(有刷过机)使用腾讯微博账号登录,发现登录界面显示为pc上的授权页 ...

  3. 腾讯微博开放平台授权教程(1)

    看到坛子里众多开发者问了很多授权问题,官方又没有及时解答,主要是他的API文档有些细节不够明确,经过几天的摸索,我将摸索到的经验以图文及代码的形式写出来,希望能抛砖引玉. 一.前言 腾讯微博开放平台授 ...

  4. 微博开放平台应用申请(Android签名填写规则)

    2019独角兽企业重金招聘Python工程师标准>>> 在微博开放平台新建应用,需要填写基本信息Android签名信息一栏中,很多人不知道这里填写什么 需要填写:android签名信 ...

  5. 【NLP】Pyhon+讯飞开放平台:​手把手带你写一个智能语音播报系统

    手把手带你写一个智能语音播报系统. 微信扫码登陆讯飞开放平台:https://www.xfyun.cn/ 完成个人认证. 在控制台创建应用,注意应用名称全库查重,很容易跟别人重复. 可查看到pytho ...

  6. 关于微博开放平台Oauth2.0接入网站应用

    关于什么是微博开放平台及微博开放平台能做什么,咱就不做搜索引擎的搬运工了 这里直接给个链接介绍:微博开放平台 本文只是抛砖引玉,讲讲微博开放平台的基本用法,适合没接触过开放平台的朋友入门学习,老鸟就略 ...

  7. 新浪与腾讯的开放平台对比

    做了金庸问答分别在腾讯和新浪的开放平台上线,了解了一些WEB开发的皮毛,对腾讯和新浪两个开放平台也有了一些认识,下面就我能力范围内对两个平台进行一番比对. 首先说云服务的平台,注意,说的不是开放平台. ...

  8. 腾讯AI开放平台的使用

    一.腾讯AI开放平台 https://ai.qq.com/ 二.腾讯AI平台支持的功能 三.签名机制 1.计算步骤 用于计算签名的参数在不同接口之间会有差异,但算法过程固定如下4个步骤.1.将< ...

  9. 腾讯Q+开放平台,相信又是一次成功的模仿

    今天看到两则新闻,中国国内两家互联网大佬都在推自己的开放平台: 腾讯CTO谈Q+开放平台:7月上线. 和 360推360°开放平台:建10亿元创新基金 .从文章的内容来看,Q+的本质就是做一个应用商店 ...

  10. 新浪与腾讯的开放平台对比(下)

    应用审核速度:腾讯完胜.在我前面写的菜鸟从零开始的第一个应用上线记中就写过了,我先提交新浪审核,然后才开始往腾讯移植,结果腾讯这边我三次审核后都上线了新浪的审核居然还没下来,工作效率差的不是一点.在新 ...

最新文章

  1. Removed k rows containing missing values
  2. Jquery Easy UI Datagrid 上下移动批量保存数据
  3. 贾跃亭画了一个8500亿的大饼
  4. Linux中Cache内存占用过高解决办法
  5. iOS开发-开发总结(四)
  6. Java之一致性hash算法原理及实现
  7. 个人风格就是一种品牌
  8. 如何保证消息队列的高可用啊
  9. C#+OpenGL+FreeType显示3D文字(3) - 用PointSprite绘制文字
  10. QT入门引导 及其 案例讲解
  11. win7下maven安装
  12. 网格交易法:数学+传统智慧战胜华尔街
  13. 解决ffmpeg合并视频后播放条拖不动,画面出错的问题
  14. ipad上怎么打开html文件,ipad HTML文件怎么打开
  15. Mac Safari, Chrome 浏览器劫持 SearchSystem Search 恶意插件移除 尝试Brave浏览器
  16. oracle 月底,Oracle查询月初和月底时间
  17. 机器视觉在服务机器人中的应用
  18. id 重启event_windows server 2008 R2服务器自动重启,事件ID:6008和事件ID:5
  19. android5.0源码开发之NVRam存储,恢复出厂设置数据不被擦除--上篇
  20. 知识图谱技术原理介绍

热门文章

  1. 偷梁换柱:谨防“Synaptics”蠕虫病毒
  2. MySQL grant 语法的详细解析
  3. linux信号灯超时时间已到,急!!信号灯超时时间已到错误又出来了!!!!
  4. HASH加密算法:MD4、MD5、SHA1
  5. JavaSE,JavaEE,JavaME区别
  6. enfp工具箱怎么用_小丸工具箱使用技巧详细图解,值得各位学习
  7. Java程序员职业规划
  8. vue 前端 增加取色器/拾色器
  9. 计算机怎么退出远程桌面连接,怎么退出远程桌面控制?远程桌面软件哪个好?
  10. RocketMQ Remoting模块源码功能分析