1. 程式人生 > >Android微信開放平臺SDK, demo除錯

Android微信開放平臺SDK, demo除錯

此文轉載,最後一段文字,沒看懂什麼意思,有意的大俠們請指教啊,跪拜………………

最近一直在呼叫微信的API,卻發現一直呼叫不成功,糾結了好久,各方面找教程,找官方,官方里的文件也只是寫得很模糊,說是按三步走。

1、申請App_ID

2、填寫包名3、

獲取程式簽名的md5值,

這三步只要你走對了就能調通,可是大家都不知道有時候我們打包的keystore和我們打包的keystore獲取到的程式簽名的md5是不一樣的。我們在申請的時候填的程式簽名值是正式打包的,但我們在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

\
 

2、裝上我們的應用到手機端,再去微信官網下載一個獲取程式簽名md5值的apk輸入包名:

\
 

3、去微信後臺申請我們除錯的應用:

接著再寫上示例程式碼中的程式碼:

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(); 
   } 

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();
   }

至此,大功告成。千萬別忘記你程式打包用的keysotre再用那個微信提供的程式打包獲取到簽名和你在eclpise程式部署獲取到的簽名是不一樣的。我們可以再申請一個正式的應用,填寫資訊可以完全一樣,但是隻要改掉和你的app_id


相關推薦

Android開放平臺SDK demo除錯

此文轉載,最後一段文字,沒看懂什麼意思,有意的大俠們請指教啊,跪拜……………… 最近一直在呼叫微信的API,卻發現一直呼叫不成功,糾結了好久,各方面找教程,找官方,官方里的文件也只是寫得很模糊,說是按三步走。 1、申請App_ID 2、填寫包名3、 獲取程式簽名的

android開放平臺申請移動應用的應用簽名怎樣獲取

fonts des 查找文檔 範例 javase 開發 lang p s pan 在微信開放平臺,申請移動應用的時候: https://open.weixin.qq.com/cgi-bin/appcreate?t=manage/createMobile&a

開放平臺 公眾號第三方平臺開發 教程四 代公眾號呼叫介面的SDKdemo

 前幾章中我講解了微信開發平臺提供第三方平臺的好處,和使用流程,如果你看了我的文章相信你對開放平臺有了初步的瞭解,但是在實際的開發過程中可能會遇見很多問題。今天我將對每一個介面分別講解一下,以及的SKD的使用方法。

開放平臺 公眾號第三方平臺開發 教程四 代公眾號調用接口的SDKdemo

人工智能 itl 回調 one jeecg clas 每一個 ans msu 更多微信技術交流,請加QQ群:289709451、287090836 前幾章中我講解了微信開發平臺提供第三方平臺的好處,和使用流程,如果你看了我的文章相信你對開放平臺有了初

公眾平臺開發模板消息網頁授權JS-SDK二維碼生成(4)

支持 post 網頁 信息 行業 使用步驟 獲取 公眾 符號 微信公眾平臺開發,模板消息,什麽是模板消息,模板消息接口指的是向用戶發送重要的服務通知,只能用於符合場景的要求中去,如信用卡刷卡通知,購物成功通知等等。不支持廣告營銷,打擾用戶的消息,模板消息類有固定的模板,每個

多多客開源版開放平臺的小程式SaaS 系統基於doodoo.jsvue.js

多多客作為青否原班人馬打造的小程式第三方平臺,結合5年商城系統、近2年小程式SaaS平臺研發及運營經驗,將重點發力小程式個性化和各類營銷玩法,聯合服務商、開發者、經營專家,共建服務生態,服務百萬商家。 多多(doodoo)小程式開源版 多多客免費開源的小程式SaaS系統,koa.js + v

開放平臺建立android應用時怎麼獲取應用簽名

之前微信開放平臺中申請建立應用,沒有整理,過了好久,又重新百度,今天索性整理了,以供童鞋們備用。 1.微信開發平臺註冊申請成開發者賬號,就此略過 2.在管理中心選擇建立移動應用。按照嚴格要求填寫、上傳圖片,然後在第二步驟中就有應用簽名的填寫 3,。有兩種方法獲取應用

開放平臺>登陸、分享、支付。調不起來呼叫失敗

首先檢查app包名、安裝在手機上的簽名和微信開放平臺上面填寫的包名、簽名是否一致,如果不一致請改成一致。 public class MyApp extends Application { public static IWXAPI api;//此物件是專門用來向微信傳送

開放平臺公眾平臺配置流程簡介

一、如何開通微信公眾號、微信開發平臺、授權認證、介面許可權申請等等,這些不在本文描述,請參考官方資料。二、假設已順利完成第一步的工作,現在需要在自己開發的網站(PC端、移動端,注意兩者略有不同,下文有描述)接入微信登入功能。三、接入之前,首先要理解使用微信登入的常有的兩種應用

開放平臺的使用介紹配置流程

1、OAuth2.0  OAuth(開放授權)是一個開放標準,允許使用者讓第三方應用訪問該使用者在某一網站上儲存的私密的資源(如照片,視訊,聯絡人列表),而無需將使用者名稱和密碼提供給第三方應用。  允許使用者提供一個令牌,而不是使用者名稱和密碼來訪問他們存放在特定服務提供者

開放平臺JS SDK接入sha1演算法

接入微信開放平臺(JS SDK)使用的引數簽名演算法 #微信接入文件 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html package com.util; public class

Android開放平臺實現分享(分享好友和朋友圈)

開發中分享操作往往經常遇到,而且還是一些比較大型一定的平臺,如微信,QQ,微博等。寫這篇部落格主要是把微信的的分享和相關操作表達一下,分享可以包含:文字,視訊,音樂,圖片等分享。分享可以有 分享給好友,群,朋友圈等。效果如下圖:(注意:功能根據自己的需要選擇就可以了)    

公眾平臺開發那些走過的坑

內置瀏覽器 點滴 播放 中一 ffmpeg 時間 想要 文件 設計 最近接手了一個微信公眾平臺的項目,歷時兩個月,基本完工,終於有時間可以總結一下這過程當中遇到的點點滴滴。 1、關於微信的內置瀏覽器 開始以為,微信內置瀏覽器是一個瀏覽器,對於安卓機和蘋果機都是一樣的,後來發

公眾平臺SDK for node

trac 微信公眾平臺 特性 node 開發人員 issue get sdk class 實現了下面特性: 1、開啟開發人員模式 2、解析微信請求參數 3、驗證消息來源 4、被動回復文字消息 5、被動回復圖文消息 6、獲取access_token 7、

開放平臺開發需要註意的問題

script 情況 創建 tex 消息 func nbsp UNC cgi 1、全網發布檢測需要註意:返回的普通文本消息“ 不可以加密 ”,否側不會通過檢測。 /** * [responseText 回復文本消息] * @param [type] $po

開放平臺授權流程

ons msg upd 解密 pty entity getc err 取消 最近在看微信第三方開發,整個流程看下來還是可以理解的 https://blog.csdn.net/abc916545195/article/details/50977079?locationNum=

開放平臺開發(3) 移動應用登入

在這篇微信公眾平臺開發教程中,我們將介紹如何使用微信開放平臺介面實現移動應用微信登入的功能。   移動應用微信登入是基於OAuth2.0協議標準構建的微信OAuth2.0授權登入系統。 在進行微信OAuth2.0授權登入接入之前,在微信開放平臺註冊開發者帳號,並擁有一個已稽核通過

開放平臺公眾號第三方平臺開發 教程一 平臺介紹

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

php開放平臺--第三方網頁掃碼登入(OAuth2.0)

第一、OAuth2.0  OAuth(開放授權)是一個開放標準,允許使用者讓第三方應用訪問該使用者在某一網站上儲存的私密的資源(如照片,視訊,聯絡人列表),而無需將使用者名稱和密碼提供給第三方應用。  允許使用者提供一個令牌,而不是使用者名稱和密碼來訪問他們存放在特定服務提供者的資料。每一個令牌授權一個特定的

開放平臺第三方掃碼登入(親測可用)

開放平臺需要企業認證才能註冊,正好這次公司提供了一個賬號,調通以後,就順便寫一篇部落格吧。 公眾平臺與開放平臺的區別 微信開放平臺 主要面對移動應用/網站應用開發者,為其提供微信登入、分享、支付等相關許可權和服務。 微信公眾平臺 微信公眾平臺用於管理、開放微信公眾號(包括訂閱號、