首頁 後端開發 php教程 微信一次性訂閱訊息接入問題解析

微信一次性訂閱訊息接入問題解析

Mar 06, 2018 am 09:55 AM
一次性 存取 問題

本文主要和大家分享微信一次性訂閱訊息接入問題解析,環境都已經接入,發送一次性訂閱訊息授權:

 final IWXAPI api = WXAPIFactory.createWXAPI(SettingActivity.this, response.getAppId());
                // 将该app注册到微信
                api.registerApp(ServerUrls.WEIXIN_APP_ID);
                Log.i("20180228", "come to send request with subscribeMessage....");
                SubscribeMessage.Req req = new SubscribeMessage.Req();
                req.templateID = response.getTemplateId();
                req.scene = 889;
//                req.reserved = response.getReserved();
                Log.i("20180228", "req.appId: "+response.getAppId());
                Log.i("20180228", "req.templateId: "+req.templateID);
//                Log.i("20180228", "req.scene: "+req.scene);
//                Log.i("20180228", "req.reserved: "+req.reserved);
                Log.i("20180228", "before send request: "+req.toString());
                boolean sendResult = api.sendReq(req);
                Log.i("20180228", "after send request: "+sendResult);
                ToastUtils.show(SettingActivity.this, "发送请求结束");
登入後複製

在授權頁面的回調中做簡單的處理:

@Override
    public void onResp(BaseResp resp) {
        Log.i("20180228", "here come to the resp with wechat request: "+resp.toString());
        Log.i("20180228", "here come to the resp with wechat errCode: "+resp.errCode);
        Log.i("20180228", "here come to the resp with wechat errStr: "+resp.errStr);
        Log.i("20180228", "here come to the resp with wechat openId: "+resp.openId);
        Log.i("20180228", "here come to the resp with wechat type: "+resp.getType());
        ToastUtils.show(this, "openId: "+resp.openId);
        if(resp.getType() == ConstantsAPI.COMMAND_SUBSCRIBE_MESSAGE){
            Log.i("20180305", "here come to resp method successful....");
        }
//        if (resp.getType() == ConstantsAPI.COMMAND_SENDAUTH && resp.errCode == BaseResp.ErrCode.ERR_OK){
//            ToastUtils.show(this, "request auth here ....");
//            String openId = resp.openId;
//            int errCode = resp.errCode;
//            String errString = resp.errStr;
//
//            new UserManager(this).bidnWXRSS(openId, new SimpleCallback<ApiResponse>() {
//                @Override
//                public void onSuccess(ApiResponse response) {
//                    ToastUtils.show(WXEntryActivity.this, "绑定成功!");
//                    finish();
//                }
//            });
//        }


        finish();
    }
登入後複製

在開啟的偵錯列印中顯示:

03-05 17:46:00.967 10706-10706/com.xxx I/MicroMsg.SDK.WXApiImplV10: handleIntent, cmd = 4
03-05 17:46:00.967 10706-10706/com.xxx I/MicroMsg.SDK.WXMediaMessage: pathOldToNew, oldPath = com.tencent.mm.sdk.openapi.WXAppExtendObject
03-05 17:46:00.967 10706-10706/com.xxx I/MicroMsg.SDK.WXApiImplV10: handleWxInternalRespType, extInfo = wx_internal_resptype=subscribemessage&openid=oerX_woJRjvv8NzuUJHcKJe5PzwU&template_id=H0tXdBxs_ea5bVofycFBUPZl3hRgLWHxJIVBEYhSnxQ&action=confirm&reserved=null&scene=889
03-05 17:46:00.967 10706-10706/com.xxx I/MicroMsg.SDK.WXApiImplV10: handleWxInternalRespType, respType = null
03-05 17:46:00.967 10706-10706/com.xxx E/MicroMsg.SDK.WXApiImplV10: handleWxInternalRespType fail, respType is null
登入後複製

handleIntent()的時候,回傳的是false,也沒辦法呼叫onResp方法,其中的原因是因為上面的respType = null,但上面發現extInfo是有資料的,並且可以看出wx_internal_resptype=subscribemessage。

這邊查看WXApiImplV10.class,部分程式碼如下: 


也就是說,這邊的respType=subscribemessage,但上面解析出來變成了null, 其中關鍵的程式碼是:


然後才明白,這邊的extInfo字串的起始處少了一個“?”,所以把extInfo解析成Uri後,就找不到指定的「wx_internal_resptype」屬性了。所以頁面會卡在WXEntryActivity頁面沒有進行下一步的操作,這邊希望微信開發團隊可以儘早處理!

以上是微信一次性訂閱訊息接入問題解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

聚類演算法中的聚類效果評估問題 聚類演算法中的聚類效果評估問題 Oct 10, 2023 pm 01:12 PM

聚類演算法中的聚類效果評估問題,需要具體程式碼範例聚類是一種無監督學習方法,透過對資料進行聚類,將相似的樣本歸為一類。在聚類演算法中,如何評估聚類的效果是一個重要的問題。本文將介紹幾種常用的聚類效果評估指標,並給出對應的程式碼範例。一、聚類效果評估指標輪廓係數(SilhouetteCoefficient)輪廓係數是透過計算樣本的緊密度和與其他簇的分離度來評估聚類效

解決C++程式碼中出現的「error: redefinition of class 'ClassName'」問題 解決C++程式碼中出現的「error: redefinition of class 'ClassName'」問題 Aug 25, 2023 pm 06:01 PM

解決C++程式碼中出現的「error:redefinitionofclass'ClassName'」問題在C++程式設計中,我們常常會遇到各種各樣的編譯錯誤。其中一個常見的錯誤是「error:redefinitionofclass'ClassName'」(類別『ClassName』的重定義錯誤)。這個錯誤通常出現在同一個類別被定義了多次的情況下。本文將

win10下載不了steam怎麼辦 win10下載不了steam怎麼辦 Jul 07, 2023 pm 01:37 PM

Steam是十分受歡迎的一個平台遊戲,擁有眾多優質遊戲,可是有些win10用戶體現自己下載不了steam,這是怎麼回事呢?極有可能是用戶的ipv4伺服器位址沒有設定好。要解決這個問題的話,你可以試著在相容模式下安裝Steam,隨後手動修改一下DNS伺服器,將其改成114.114.114.114,以後應當就能下載了。 win10下載不了steam怎麼辦:WIn10下能夠試著相容模式下安裝,更新後必須關掉相容模式,不然網頁將無法載入。點擊程式安裝的屬性,以相容模式運作運行這個程式。重啟以增加內存,電

教你如何診斷常見問題的iPhone故障 教你如何診斷常見問題的iPhone故障 Dec 03, 2023 am 08:15 AM

iPhone以其強大的性能和多方面的功能而聞名,它不能倖免於偶爾的打嗝或技術困難,這是複雜電子設備的共同特徵。遇到iPhone問題可能會讓人感到沮喪,但通常不需要警報。在這份綜合指南中,我們旨在揭開與iPhone使用相關的一些最常遇到的挑戰的神秘面紗。我們的逐步方法旨在幫助您解決這些常見問題,提供實用的解決方案和故障排除技巧,讓您的裝置恢復到最佳工作狀態。無論您是面對一個小故障還是更複雜的問題,本文都可以幫助您有效地解決這些問題。一般故障排除提示在深入研究具體的故障排除步驟之前,以下是一些有助於

解決PHP報錯:繼承父類別時遇到的問題 解決PHP報錯:繼承父類別時遇到的問題 Aug 17, 2023 pm 01:33 PM

解決PHP報錯:繼承父類別時遇到的問題在PHP中,繼承是重要的物件導向程式設計的特性。透過繼承,我們能夠重複使用現有的程式碼,並且能夠在不修改原有程式碼的情況下,對其進行擴展和改進。儘管繼承在開發中應用廣泛,但有時在繼承父類別時可能會遇到一些報錯問題,本文將圍繞解決繼承父類別時遇到的常見問題進行討論,並提供相應的程式碼範例。問題一:未找到父類別在繼承父類別的過程中,如果系統無

解決jQuery無法取得表單元素值的方法 解決jQuery無法取得表單元素值的方法 Feb 19, 2024 pm 02:01 PM

解決jQuery.val()無法使用的問題,需要具體程式碼範例對於前端開發者,使用jQuery是常見的操作之一。其中,使用.val()方法來取得或設定表單元素的值是非常常見的操作。然而,在一些特定的情況下,可能會出現無法使用.val()方法的問題。本文將介紹一些常見的情況以及解決方案,並提供具體的程式碼範例。問題描述在使用jQuery開發前端頁面時,有時候會碰

弱監督學習中的標籤獲取問題 弱監督學習中的標籤獲取問題 Oct 08, 2023 am 09:18 AM

弱監督學習中的標籤獲取問題,需要具體程式碼範例引言:弱監督學習是一種利用弱標籤進行訓練的機器學習方法。與傳統的監督學習不同,弱監督學習只需利用較少的標籤來訓練模型,而不是每個樣本都需要有準確的標籤。然而,在弱監督學習中,如何從弱標籤中準確地獲取有用的信息是一個關鍵問題。本文將介紹弱監督學習中的標籤獲取問題,並給出具體的程式碼範例。弱監督學習中的標籤獲取問題簡介:

機器學習模型的泛化能力問題 機器學習模型的泛化能力問題 Oct 08, 2023 am 10:46 AM

機器學習模型的泛化能力問題,需要具體程式碼範例隨著機器學習的發展和應用越來越廣泛,人們越來越關注機器學習模型的泛化能力問題。泛化能力指的是機器學習模型對未標記資料的預測能力,也可以理解為模型在真實世界中的適應能力。一個好的機器學習模型應該具有較高的泛化能力,能夠對新的數據做出準確的預測。然而,在實際應用中,我們經常會遇到模型在訓練集上表現良好,但在測試集或真實

See all articles