ユーザーチャネルプロモーション分析のニーズを満たすために、パブリックプラットフォームはQRコードを生成するためのインターフェースを提供します。このインターフェイスを使用すると、異なるシーン値を持つ複數(shù)の QR コードを取得でき、ユーザーがそれらをスキャンした後、パブリック アカウントはイベント プッシュを受け取ることができます?,F(xiàn)在、QR コードには一時(shí)的な QR コードと永続的な QR コードの 2 種類があり、前者には最大 1800 秒の有効期限がありますが、より大きな數(shù)を生成できます。一方、後者には有効期限がなく、より少ない數(shù)が生成されます。パラメータは 1 ~ 100000 のみをサポートします)。 2 つの QR コードはそれぞれ、アカウント バインディング、ユーザー ソース統(tǒng)計(jì)、およびその他のシナリオに適しています。
ユーザーがシーン値を含む QR コードをスキャンすると、次の 2 つのイベントがプッシュされる場(chǎng)合があります:
1. ユーザーが公式アカウントをフォローしていない場(chǎng)合、ユーザーはフォローした後に公式アカウントをフォローできます。 , WeChatはシーン値をプッシュします イベントをフォローして開(kāi)発者にプッシュします(特定のイベント用に用意されたQRコードなど。參加者はそれをスキャンしてWeChatアカウントをフォローします。同時(shí)にWeChatアカウントはイベント関連をプッシュできます)ユーザーへの情報(bào));
2. ユーザーがすでに公開(kāi)アカウントをフォローしている場(chǎng)合、ユーザーはスキャン後に自動(dòng)的にセッションに入ります (上記の例)。も適用されます)。
パラメータ付きのQRコードを取得するプロセスには、まずQRコードチケットを作成し、次に指定されたURLへのチケットを使用してQRコードと交換します。
QRコードチケットを作成する
QRコードチケットを作成するたびに、開(kāi)発者によって設(shè)定されたパラメータ(scene_id)を提供する必要があり、一時(shí)的なQRコードと永続的なQRコードが導(dǎo)入されますそれぞれQRコードチケットを作成するプロセスです。
一時(shí)的な QR コード リクエストの手順:
?http請(qǐng)求方式:?POST ?URL:?? ?POST數(shù)據(jù)格式:json ?POST數(shù)據(jù)例子:{"expire_seconds":?1800,?"action_name":?"QR_SCENE",?"action_info":?{"scene":?{"scene_id":?123}}}
永続的な QR コード リクエストの手順
?http請(qǐng)求方式:?POST ?URL:?? ?POST數(shù)據(jù)格式:json ?POST數(shù)據(jù)例子:{"action_name":?"QR_LIMIT_SCENE",?"action_info":?{"scene":?{"scene_id":?123}}}
JSON データパラメータをリクエストする 具體的な手順は次のとおりです:
正しい Json の戻り結(jié)果の例は次のとおりです:
{"ticket":"gQH47joAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL2taZ2Z3TVRtNzJXV1Brb3ZhYmJJAAIEZ23sUwMEmm3sUw==","expire_seconds":60,"url":"http:\/\/weixin.qq.com\/q\/kZgfwMTm72WWPkovabbI"}
返された Json データの形式の説明は次のとおりです:
戻り値の例
{"errcode":40013,"errmsg":"invalid?appid"}
次に、チケットを生成する Visualforce ページを構(gòu)築します。
Visualforce ページのコードは次のとおりです。
<page>? ???<form>? ??????<font><strong>第一步,創(chuàng)建二維碼Ticket</strong><br><br>? ??????請(qǐng)輸入授權(quán)AccessToken:<inputtext></inputtext><br><br>? ??????<commandbutton></commandbutton><br>? ??????</font>? ??</form>? ??{!msg}? </page>
上記のコードの 4 行目は、HTML テキスト ボックスに相當(dāng)する apex:inputText コントロールを配置します。 value の値は、これは、WeChatQRCodeGeneratorController クラスに Getter Setter を持つパブリック プロパティがあり、そのプロパティにデフォルト値がある場(chǎng)合、ユーザーがテキスト ボックスの內(nèi)容を変更すると、テキスト ボックスにデフォルト値が表示されます。 accessToken 屬性も自動(dòng)的に変更されます。 5 行目には、HTML ボタンに相當(dāng)する apex:commandButton コントロールを配置します。このボタンをクリックすると、アクションで指定された send メソッドがトリガーされます。最後の行 8 は msg 変數(shù)を直接表示します。この変數(shù)は、WeChat インターフェイスから返される Json を表示するために使用されます。畫面表示効果は次のとおりです:
WeChatQRCodeGeneratorController クラスのコードは次のとおりです:
public?class?WeChatQRCodeGeneratorController?{? ????public?String?msg?{?get;?set;?}? ????public?String?accessToken?{?get;?set;?}? ????public?void?send()?{? ????????Http?h?=?new?Http();? ????????HttpRequest?req?=?new?HttpRequest();? ????????req.setMethod('POST');? ????????req.setHeader('Accept-Encoding','gzip,deflate');? ????????req.setHeader('Content-Type','text/xml;charset=UTF-8');? ????????req.setHeader('User-Agent','Jakarta?Commons-HttpClient/3.1');? ???????? ????????String?json?=?'{"expire_seconds":?1800,?"action_name":?"QR_SCENE",?"action_info":?{"scene":?{"scene_id":?12345}}}';? ???????? ????????req.setBody(json);? ????????req.setEndpoint('https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token='?+?accessToken);? ????????String?bodyRes?=?'';? ???????? ????????try{? ????????????HttpResponse?res?=?h.send(req);? ????????????bodyRes?=?res.getBody();? ????????}? ????????catch(System.CalloutException?e)?{? ????????????System.debug('Callout?error:?'+?e);? ????????????ApexPages.addMessage(new?ApexPages.Message(ApexPages.Severity.FATAL,?e.getMessage()));? ????????}? ????????msg?=?bodyRes;? ????}??? }
完了後、コードを保存し、正しい有効なコードを入力します。トークンにアクセスし、「QRコードチケットの生成」ボタンをクリックすると、下図のようにQRコードと交換するためのチケットが取得されます。実際、返された JSON の最後のパラメーター URL の値は、QR コードの値です。この結(jié)果を使用して、オンライン QR コード ジェネレーターを通じて QR コードを生成できます。 ? 通過(guò)ticket換取二維碼 獲取二維碼ticket后,開(kāi)發(fā)者可用ticket換取二維碼圖片,本接口無(wú)需登錄即可調(diào)用,接口請(qǐng)求說(shuō)明如下: ? 錯(cuò)誤情況下(如ticket非法)返回HTTP錯(cuò)誤碼404。 利用前面返回的票據(jù)調(diào)用該接口示例如下: ?更多Force.com WeChat 開(kāi)発はパラメータを含む QR コードを生成します相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!?HTTP?GET請(qǐng)求(請(qǐng)使用https協(xié)議)
?https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET
返回說(shuō)明:
ticket正確情況下,http?返回碼是200,是一張圖片,可以直接展示或者下載。
HTTP頭(示例)如下:
Accept-Ranges:bytes
Cache-control:max-age=604800
Connection:keep-alive
Content-Length:28026
Content-Type:image/jpg
Date:Wed,?16?Oct?2013?06:37:10?GMT
Expires:Wed,?23?Oct?2013?14:37:10?+0800
Server:nginx/1.4.1
https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQH97zoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL2YweHpqY1hrX255RGdnckl0V0otAAIENIwAVAMECAcAAA==

ホットAIツール

Undress AI Tool
脫衣畫像を無(wú)料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版
中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)