php分享微信jsdk,php 微信

本文目錄一覽:

怎麼使用微信JSSDK的自定義分享功能

一,首先在公眾號管理後台“公眾號設置”的“功能設置”里填寫JS接口安全域名,域名需要通過ICP備案,沒有備案域名可以用SAE、BAE等平台。此外,自定義分享功能需要通過微信認證才能使用,沒有認證的可以跟關係好的朋友借用權限,在他的JS接口安全域名設置這裡填上你的域名和共享同一個開發者ID。

二,在需要調用JS接口的頁面引入微信JSSDK的JS文件:,這個文件在需要分享的頁面是必須要引用的,單獨特別重申一下,其他方面請閱讀官方文檔 

引用方法:在網頁title標題下面加上:script src=””/script

三,下載官方示例代碼:

解壓之後在例如PHP文件夾中看到以下文件:

四,複製以上文件到你的遊戲目錄,為了方便所有遊戲調用同一個文件,建議在主機根目錄(即一級目錄)建立一個JSSDK文件夾。

五,在你需要自定義分享的網頁源文件上(主機需支持PHP環境,網頁文件名.html改成.php)引用JSSDK:

在網頁頭部加上如下代碼:

php 微信分享怎麼知道誰分享的

微信用戶進入時,獲取當前微信用戶的信息(好像只能是服務號),可存session中

引入微信的js sdk,寫分享方法,分享成功後,可以用ajax請求,然後在後台處理,記錄分享用戶、分享數據信息

如何在DISCUZ論壇引入微信JSSDK與分享功能

首先在公眾號管理後台“公眾號設置”的“功能設置”里填寫JS接口安全域名,域名需要通過ICP備案,沒有備案域名可以用SAE、BAE等平台。自定義分享功能需要通過微信認證才能使用,沒有認證的可以跟關係好的朋友借用權限,在他的JS接口安全域名設置這裡填上你的域名和共享同一個開發者ID。沒有認證微信號的,可參考文章末尾的辦法。

2、下載官方示例代碼:jssdk-php.zip

下載後解壓,然後在DZ根目錄新建一個文件夾命名為jssdk 把解壓得到的jssdk.php直接上傳到剛建設好的文件夾中。

3、修改header.htm模板文件

在DZ模板文件header.htm中添加如下代碼

如何使用微信JS-SDK實際分享功能

1登錄你的微信平台,點擊“公眾號設置”。

2

點擊“功能設置”,然後點擊“設置”。

3

4

在開發者中心中獲取你的AppID和AppSecret,接下來在獲取令牌時,需要這兩個信息。

5

獲取令牌。在服務器端完成,代碼如下:

function wx_get_token() {

$token = S(‘access_token’);

if (!$token) {

$res = json_decode($res, true);

$token = $res[‘access_token’];

// 注意:這裡需要將獲取到的token緩存起來(或寫到數據庫中)

// 通過此接口返回的token的有效期目前為2小時。令牌失效後,JS-SDK也就不能用了。

// 因此,這裡將token值緩存1小時,比2小時小。緩存失效後,再從接口獲取新的token,這樣

// 就可以避免token失效。

// S()是ThinkPhp的緩存函數,如果使用的是不ThinkPhp框架,可以使用你的緩存函數,或使用數據庫來保存。

S(‘access_token’, $token, 3600);

}

return $token;

}

注意:返回的access_token長度至少要留夠512字節。接口返回值:

{“access_token”:”ACCESS_TOKEN”,”expires_in”:7200}

{“access_token”:”vdlThyTfyB0N5eMoi3n_aMFMKPuwkE0MgyGf_0h0fpzL8p_hsdUX8VGxz5oSXuq5dM69lxP9wBwN9Yzg-0kVHY33BykRC0YXZZZ-WdxEic4″,”expires_in”:7200}

6

獲取jsapi的ticket。jsapi_ticket是公眾號用於調用微信JS接口的臨時票據。正常情況下,jsapi_ticket的有效期為7200秒,通過access_token來獲取。

function wx_get_jsapi_ticket(){

$ticket = “”;

do{

$ticket = S(‘wx_ticket’);

if (!empty($ticket)) {

break;

}

$token = S(‘access_token’);

if (empty($token)){

wx_get_token();

}

$token = S(‘access_token’);

if (empty($token)) {

logErr(“get access token error.”);

break;

}

$token);

$res = file_get_contents($url2);

$res = json_decode($res, true);

$ticket = $res[‘ticket’];

// 注意:這裡需要將獲取到的ticket緩存起來(或寫到數據庫中)

// ticket和token一樣,不能頻繁的訪問接口來獲取,在每次獲取後,我們把它保存起來。

S(‘wx_ticket’, $ticket, 3600);

}while(0);

return $ticket;

}

接口返回值:

{“errcode”:0,”errmsg”:”ok”,”ticket”:”sM4AOVdWfPE4DxkXGEs8VMKv7FMCPm-I98-klC6SO3Q3AwzxqljYWtzTCxIH9hDOXZCo9cgfHI6kwbe_YWtOQg”,”expires_in”:7200}

7

簽名,將jsapi_ticket、noncestr、timestamp、分享的url按字母順序連接起來,進行sha1簽名。

noncestr是你設置的任意字符串。

timestamp為時間戳。

$timestamp = time();

$wxnonceStr = “任意字符串”;

$wxticket = wx_get_jsapi_ticket();

$wxOri = sprintf(“jsapi_ticket=%snoncestr=%s×tamp=%surl=%s”,

$wxticket, $wxnonceStr, $timestamp,

);

$wxSha1 = sha1($wxOri);

END

步驟2 添加JS代碼

生成簽名後,就可以使用js代碼了。在你的html中,進行如下設置即可。

script type=”text/javascript”

// 微信配置

wx.config({

debug: false,

appId: “你的AppID”,

timestamp: ‘上一步生成的時間戳’,

nonceStr: ‘上一步中的字符串’,

signature: ‘上一步生成的簽名’,

jsApiList: [‘onMenuShareTimeline’, ‘onMenuShareAppMessage’] // 功能列表,我們要使用JS-SDK的什麼功能

});

// config信息驗證後會執行ready方法,所有接口調用都必須在config接口獲得結果之後,config是一個客戶端的異步操作,所以如果需要在 頁面加載時就調用相關接口,則須把相關接口放在ready函數中調用來確保正確執行。對於用戶觸發時才調用的接口,則可以直接調用,不需要放在ready 函數中。

wx.ready(function(){

// 獲取“分享到朋友圈”按鈕點擊狀態及自定義分享內容接口

wx.onMenuShareTimeline({

title: ‘分享標題’, // 分享標題

});

// 獲取“分享給朋友”按鈕點擊狀態及自定義分享內容接口

wx.onMenuShareAppMessage({

title: ‘分享標題’, // 分享標題

desc: “分享描述”, // 分享描述

type: ‘link’, // 分享類型,music、video或link,不填默認為link

});

});

/script

如何使用微信JS-SDK實際分享功能?

首先你得有個認證的公眾號,或則有微信開發平台認證賬戶,

然後根據js-sdk文檔進行開發

thinkphp結合微信jssdk文檔 第一次轉發朋友圈跳轉鏈接 第二次不用在轉發就可以獲取跳轉的鏈接怎麼做??

你可以這麼做,數據庫裡面有一個字段是來判斷是不是第一次,字段為1的話就是已經轉發過了,為0的話就是還沒有轉發,如果為1你就不要執行jssdk的分享

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/271804.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-16 19:23
下一篇 2024-12-16 19:23

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台服務器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24
  • php擴展庫初探

    一、什麼是php擴展庫? PHP擴展庫(PHP extension)是一些用C語言編寫的動態鏈接庫,用於擴展PHP的功能。PHP擴展庫使得PHP可以與各種數據庫系統相連、SMTP、…

    編程 2025-04-23

發表回復

登錄後才能評論