【移動應用開發(fā)技術】微信公眾平臺開發(fā)之如何獲取個性二維碼_第1頁
【移動應用開發(fā)技術】微信公眾平臺開發(fā)之如何獲取個性二維碼_第2頁
【移動應用開發(fā)技術】微信公眾平臺開發(fā)之如何獲取個性二維碼_第3頁
【移動應用開發(fā)技術】微信公眾平臺開發(fā)之如何獲取個性二維碼_第4頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

【移動應用開發(fā)技術】微信公眾平臺開發(fā)之如何獲取個性二維碼

一、功能介紹/upload/information/20201208/260/12775.jpg二、相關接口創(chuàng)建二維碼tickethttp請求方式:

POST

URL:

/cgi-bin/qrcode/create?access_token=TOKENPOST數(shù)據(jù)格式:json

POST數(shù)據(jù)例子:{"expire_seconds":

1800,

"action_name":

"QR_SCENE",

"action_info":

{"scene":

{"scene_id":

123}}}http請求方式:

POST

URL:

/cgi-bin/qrcode/create?access_token=TOKENPOST數(shù)據(jù)格式:json

POST數(shù)據(jù)例子:{"action_name":

"QR_LIMIT_SCENE",

"action_info":

{"scene":

{"scene_id":

123}}}{"ticket":"gQG28DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL0FuWC1DNmZuVEhvMVp4NDNMRnNRAAIEesLvUQMECAcAAA==","expire_seconds":1800}{"errcode":40013,"errmsg":"invalid

appid"}通過ticket換取二維碼HTTP

GET請求(請使用https協(xié)議)

/cgi-bin/showqrcode?ticket=TICKETAccept-Ranges:bytes

Cache-control:max-age=604800Connection:keep-alive

Content-Length:28026Content-Type:image/jpg

Date:Wed,

16

Oct

2013

06:37:10

GMT

Expires:Wed,

23

Oct

2013

14:37:10

+0800Server:nginx/1.4.1三、具體實現(xiàn)///

<summary>

///

二維碼管理者

///

</summary>

public

class

DimensionalCodeManager

{

///

<summary>

///

臨時二維碼地址

///

</summary>

///

使用string.format時,報:字符串格式錯誤,因為其中有{

//private

const

string

TEMP_URL

=

"{\"expire_seconds\":

1800,

\"action_name\":

\"QR_SCENE\",

\"action_info\":

{\"scene\":

{\"scene_id\":

{0}}}}";

///

<summary>

///

解決辦法,將原有字符串中的一個{用兩個{代替

///

</summary>

private

const

string

TEMP_JSON_DATA

=

"{{\"expire_seconds\":

1800,

\"action_name\":

\"QR_SCENE\",

\"action_info\":

{{\"scene\":

{{\"scene_id\":

{0}}}}}}}";

///

<summary>

///

永久二維碼地址

///

</summary>

private

const

string

PERMANENT_URL

=

"{{\"action_name\":

\"QR_LIMIT_SCENE\",

\"action_info\":

{{\"scene\":

{{\"scene_id\":

{0}}}}}}}";

///

<summary>

///

獲取ticket的URL

///

</summary>

private

const

string

GET_TICKET_URL

=

"

/cgi-bin/qrcode/create?access_token={0}";

///

<summary>

///

獲取二維碼URL

///

</summary>

private

const

string

GET_CODE_URL

=

"/cgi-bin/showqrcode?ticket={0}";

///

<summary>

///

根據(jù)場景ID獲取ticket

///

</summary>

///

<param

name="sceneID">場景ID</param>

///

<param

name="isTemp">是否是臨時二維碼</param>

///

<returns></returns>

private

static

string

GetTicket(int

sceneID,

bool

isTemp)

{

string

result

=

null;

string

data

=

string.Empty;

if

(isTemp)

{

data

=

string.Format(TEMP_JSON_DATA,

sceneID.ToString());

}

else

{

if

(sceneID

>

0

&&

sceneID

<=

1000)

{

data

=

string.Format(PERMANENT_URL,

sceneID);

}

else

{

//scene_id不合法

return

null;

}

}

string

ticketJson

=

HttpUtility.GetData(string.Format(GET_TICKET_URL,Context.AccessToken));

XDocument

doc

=

XmlUtility.ParseJson(ticketJson,

"root");

XElement

root

=

doc.Root;

if

(root

!=

null)

{

XElement

ticket

=

root.Element("ticket");

if

(ticket

!=

null)

{

result

=

ticket.Value;

}

}

return

result;

}

///

<summary>

///

創(chuàng)建臨時二維碼

///

</summary>

///

<param

name="sceneID">場景id,int類型</param>

///

<returns></returns>

public

static

string

GenerateTemp(int

sceneID)

{

string

ticket

=

GetTicket(sceneID,true);

if

(ticket

==

null)

{

return

null;

}

return

HttpUtility.GetData(string.Format(GET_CODE_URL,

ticket));

}

///

<summary>

///

創(chuàng)建臨時二維碼

///

</summary>

///

<param

name="sceneID">場景id,int類型</param>

///

<returns></returns>

public

static

string

GeneratePermanent(int

sceneID)

{

string

ticket

=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論