微信平台的开发与集成





最近一直在调用微信的API,却发现一直调用不成功,纠结了好久,各方面找教程,找官方,官方里的文档也只是写得很模糊,说是按三步走。

1、申请App_ID

2、填写包名3、

获取程序签名的md5值,

这三步只要你走对了就能调通,可是大家都不知道有时候我们Eclipse调用的keystore和我们打包的keystore获取到的程序签名的md5是不一样的。而且是每一个keystore对应生成的apk的值都会不一样。我们在申请的时候填的程序签名值是正式打包的,但我们在eclipse部署上去的却是用的我们默认的debug.keystore.而这样导致的后果就是程序签名不一样,会一直调不通。甚至我们都不知道我们错在哪。

先说一下怎么部署微信官网下的demo吧:【下面引用的内容为微信官网】

微信对Android  API调用是需要严格
的三个验证,只有app_id包名和程序签名完全对了的情况下才可以调得通。

如何运行sdkdemo工程

1、解压sdk
demo工程压缩包,并导入到workspace,如下图:

2、选择Eclipse顶部菜单Window->Preferences,在弹出的对话框中,选择Android目录下的Build,如下图:

指定Custom
debugkeystore选项的路径为sdk demo工程目录中的debug.keystore文件,如下图:

并应用该配置。

3、运行该sdk_sample工程。

好了,按以上三步走,你就能走通微信的DEMO,现在再来看我们自己的DEMO

1、custom
Debugkeystore:换成我们自己的keystore

为方便你可以直接复制上面的default
Debug keystore,然后接着走第二步

2、装上我们的应用到手机端,再去微信官网下载一个获取程序签名md5值的apk输入包名:

3、去微信后台申请我们调试的应用:

接着再写上示例代码中的代码:

[mw_shl_code=java,true]private Button
btn_share;
 
 public static final String WX_APP_ID =
"wxc85b9dbef61b3fe4";

   private IWXAPI api;

 
 private String text="testssss";
   @Override
   public void
onCreate(BundlesavedInstanceState) {
    
 super.onCreate(savedInstanceState);
    
 setContentView(R.layout.main);

 
    btn_share =
(Button)findViewById(R.id.btn_share);

 
    api = WXAPIFactory.createWXAPI(this,
WX_APP_ID,false);
 
   
 
   
 
   

    
 btn_share.setOnClickListener(new OnClickListener() {

       
 @Override
 
       public void onClick(View v) {
 
        
 api.registerApp(WX_APP_ID);
 
          //
初始化一个WXTextObject对象
 
          WXTextObjecttextObj =
newWXTextObject();
 
          textObj.text =
text;

          
 // 用WXTextObject对象初始化一个WXMediaMessage对象
          
 WXMediaMessagemsg = newWXMediaMessage();
          
 msg.mediaObject = textObj;
 
          //
发送文本类型的消息时,title字段不起作用
          
  msg.title = "Will be ignored";
          
 msg.description = "sdddd";

          
 // 构造一个Req
 
          SendMessageToWX.Reqreq =
newSendMessageToWX.Req();
          
 req.transaction = buildTransaction("text"); //
transaction字段用于唯一标识一个请求
          
 req.message = msg;
          
 //req.scene = SendMessageToWX.Req.WXSceneTimeline ;
       
   
 
          // 调用api接口发送数据到微信
 
          api.sendReq(req);
 
          finish();
       
 }
 
    });
   }

 
 private StringbuildTransaction(finalString type) {
      return (type == null) ?
String.valueOf(System.currentTimeMillis())
          
 :type + System.currentTimeMillis();
   }[/mw_shl_code]

至此,大功告成。千万别忘记你程序打包用的keysotre再用那个微信提供的程序打包获取到签名和你在eclpise程序部署获取到的签名是不一样的。我们可以再申请一个正式的应用,填写信息可以完全一样,但是只要改掉

和你的app_id

微信获取程序签名工具下载地址:http://open.weixin.qq.com/download/sdk/gen_signature.apk

不知道大家是否有看通。如果再有疑问的话可以加我。希望此文章能帮助到正在用微信API的Android码农们。

转于:http://www.apkbus.com/android-116442-1-1.html

这里我要说明一下:在微信朋友圈开发过程中,注意到的主要有几个方面的问题。

1)申请App_Id  
   2)填写签名,应用的签名   Eclipse顶部菜单Window->Preferences,在弹出的对话框中,选择Android目录下的Build,查看自己的MD5值。

3)我遇到的一个问题就是,应用申请成功,审核成功,签名没有问题,appId也填写正常。可是在发送消息的时候,就是不显示微信窗口。不跳转,无响应。我看底部的log输出就是
ignore wechat app signature validation   。后面的解决方法是忘记调用了这个方法。

api=WXAPIFactory.createWXAPI(this,
app_id);

api.registerApp(app_id);  
 //一定要注册这个app_id

4)如果在正常的发布版本发布的时候,使用key ***.keystore  
,您要注意查看一下md5签名值是否发生变化。如果发生变化时。则需要修改你在微信平台上面的审核信息,更换新的签名信息。等审核通过后,则替换appid,则可以正常的使用。这个问题大家注意一下。

微信平台的开发与集成,布布扣,bubuko.com

时间: 2024-08-04 09:02:13

微信平台的开发与集成的相关文章

浅谈微信卡券功能开发(1)

闲扯 由于公司的业务,有幸接触到了微信平台的开发,不得不感慨下,微信的业务规划实在是宏大的很呢.看来微信是想涉及生活的各个方面啊,再加上最近微信封杀各路豪杰(网易音乐.支付宝钱包)等,不难看出微信在产品规划上的野心. 貌似闲话说的太多了,接下来我就我自己对于微信卡券功能的开发经验进行简单的介绍,在微信开发的交流群中也看到很多新手开发者遇到的问题,希望本文能够帮助刚接触微信卡券的同学尽快的入门卡券功能开发,由于鄙人是NODEJS码农,所以本文主要以NODEJS为开发语言,其他语言的开发者可以飘过~

微信平台开发之利用本地环境加新花生壳解释做测试环境

准备工作: 1.搭建本地PHP开发环境. 2.注册并安装新花生壳. 3.注册微信公众平台帐号. 第一步:搭建本地PHP开发环境,案例使用wamp集成环境. 下载并安装集成环境确保集成环境正常运行. 第二步:注册并安装新花生壳,过程(略). 具体教程可查看http://www.oray.com/ 第三步:对开发环境做解释. 登陆花生壳做解释: 开放wamp的外部访问:教程http://hi.baidu.com/aubbll/item/8bd5a52253d3ecd7a517b685 至此,外网就可

iOS开发支付集成之微信支付

这一篇是<iOS开发之支付>这一部分的继支付宝支付集成,银联支付集成第三篇,微信支付.在集成的时候建议都要去下载最新版的SDK,因为我知道的前不久支付宝,银联都更新了一次,微信的不太清楚更新了没. 在被支付宝.银联坑过之后,发现其实微信支付的集成并没有想象中的那么困难,像支付宝那样简单地调用个方法就行,重要的难的部分都是后台来做的.微信支付也是需要签名的,也跟支付宝一样,可以在客户端签名,也可以在后台签名(当然,为了安全还是推荐在服务器上做签名,逻辑也比较好理解). 集成前首先要看看文档,开发

微信公众平台开发 - 动手篇。使用weinxinFundation开始一个微信公众平台的开发

本文主要讲解如何使用 weinxinFundation 进行二次开发. 步骤如下: 1.创建新的web项目. 在eclipse里新建一个dynamicly web project,比如本文叫weixinDemo 2.引用weinxinFundation 获得weinxinFundation的方法: 参考我的另一篇文章:http://www.cnblogs.com/vir56k/p/3664181.html 有两种引用方式: 1).如果你拿到的是个jar包,请按常规方式引用,程序员都知道. 2).

微信公众平台网页开发实战--1.微信分享一个网页到朋友圈

对微信的JSSDK进行封装一下,创建一份类似的文件结构,增加index.html与shareApi.js文件,结构如图3.3所示. 图3.3  3.2节文件结构 另外,提醒读者一下,wxJSSDK.js文件的JSSDK环境配置中,需要更改一下配置参数,代码如下: 01 jsApiList: [ // 其他代码略 02 "onMenuShareTimeline", 03 "onMenuShareAppMessage", 04 "onMenuShareQQ&q

nodejs + BAE 搭建微信公众号开发平台

闲来无事创建了一个微信公众账号,名曰“深圳生活小助手”, 关注的人不多,平时发一些深圳新闻,趣事啥的,为了丰富公众号的内容,准备添加一些便民查询功能,例如天气预报.快递查询等等. 于是就有了本文的内容. 深圳的读者扫描关注支持下啊... 闲话不多说,本文主要介绍的就是如何基于nodejs和百度云搭建微信公众号开发平台,下一节介绍如何基于该平台实现了一个简单的天气预报查询功能的小例子. 1. 使用Express搭建本地站点 Express 是一个简洁.灵活的 node.js Web 应用开发框架,

atitit. access token是什么??微信平台公众号开发access_token and Web session保持状态机制

atitit. access token是什么??微信平台公众号开发access_token and Web session保持状态机制 1. token机制and  session保持状态机制 1 2. access token是什么?? 1 3. 为什么需要access token 2 4. 需不需要保存access_token,如何保存??? 2 5. access_token在何时被创建 2 6. 为什么不直接使用appid保持状态 2 7. access_token的过期问题 3 8.

微信公众平台网页开发实战--2.从手机相册中选照片然后分享

通过对需求的了解,可以将其分解为: (1)微信端手机用户,可以使用微信的JSSDK. (2)选取图片,使用JSSDK的“chooseImage”,由于分享图片时本地地址无法分享,因此还需要JSSDK的“uploadImage”. (3)分享到朋友圈,需要JSSDK的“onMenuShareTimeline”. 综合起来,业务逻辑如图4.5所示. 图4.5  业务逻辑结构图 首先将JSSDK的环境复制一份到本节目录下,创建index.html文件.imageSharing.js文件,目录结构如图4

微信公众平台网页开发实战--3.利用JSSDK在网页中获取地理位置(HTML5+jQuery)

复制一份JSSDK环境,创建一份index.html文件,结构如图7.1所示. 图7.1  7.1节文件结构 在location.js中,封装“getLocation”接口,如下: 01 wxJSSDK.location = function(locationApi){ 02 if(wxJSSDK.isReady){ //wxJSSDK.isReady 查看微信JSSDK是否初始化完毕 03 if(locationApi){ 04 locationApi.getLocation && wx