亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
一、微信公眾平臺設定
1. 取得appid, appsecret,新增白名單
#2. 新增網頁授權
二、php後端實作
1. 取得全域token
2. 取得使用者關聯公眾號的openid
3. 取得使用者資訊
三、使用
首頁 微信小程式 微信開發(fā) 還是程式碼好用,幾步就能判斷用戶是否已追蹤公眾號

還是程式碼好用,幾步就能判斷用戶是否已追蹤公眾號

Jul 25, 2018 pm 03:04 PM
javascript php 公眾號 關注 微信

現在的活動,很多都引導用戶關注公眾號,才能參與活動,如何判斷用戶是否已關注公眾號,其實很簡單,照著本文章,你就不會再犯愁了,本文的php代碼很詳細的解說了。

一、微信公眾平臺設定

1. 取得appid, appsecret,新增白名單

登入微信公眾平臺,進入基本設定。開發(fā)中需要用到兩個參數,appId和appSecret(appSecret只展示一次,需保存下來,否則需要重置取得)。
取得access_token時需要新增IP白名單。
還是程式碼好用,幾步就能判斷用戶是否已追蹤公眾號

點選檢視

還是程式碼好用,幾步就能判斷用戶是否已追蹤公眾號
點選修改
還是程式碼好用,幾步就能判斷用戶是否已追蹤公眾號

#2. 新增網頁授權

#進入公眾號設定=》功能設定=》網頁授權網域名稱
還是程式碼好用,幾步就能判斷用戶是否已追蹤公眾號點選設置,input框中輸入授權回呼頁的網域參考第1點(只能填寫一個),下載第3點中的txt文檔,上傳至伺服器的根目錄。
還是程式碼好用,幾步就能判斷用戶是否已追蹤公眾號

二、php後端實作

1. 取得全域token

此token有效期限為2小時,可以暫存起來,過期後需要重新獲取。
PS: 專案中必須走同一個接口,否則容易互刷導致過期。

public static function getToken($appid, $appsecret){
    $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$appsecret;
    return Curl::callWebServer($url);
}

正確返回結果:
    {
        "access_token": "ACCESS_TOKEN",
        "expires_in": 7200
    }
    返回結果參數說明:
    參數              說明
    access_token      獲取到的全局token
    expires_in        憑證有效時間,單位:秒
    
錯誤返回結果:
    {"errcode": 40013, "errmsg": "invalid appid"}
    返回結果參數說明:
    返回碼    說明
    -1       系統(tǒng)繁忙,此時請開發(fā)者稍候再試
    0        請求成功
    40001    AppSecret錯誤或者AppSecret不屬于這個公眾號,請開發(fā)者確認        AppSecret的正確性
    40002    請確保grant_type字段值為client_credential
    40164    調用接口的IP地址不在白名單中,請在接口IP白名單中進行設置。(小程序及小游戲調用不要求IP地址在白名單內。)

2. 取得使用者關聯公眾號的openid

分兩步,先要取得到使用者對公眾號的授權碼,然後拿這個碼去取得臨時access_token和openid。

取得使用者授權碼

public static function getCode($appId, $redirect_uri, $state=1, $scope='snsapi_base', $response_type='code'){
    $url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appId.'&redirect_uri='.$redirect_uri.'&response_type='.$response_type.'&scope='.$scope.'&state='.$state.'#wechat_redirect';
    header('Location: '.$url, true, 301);
}

正確返回結果:
    返回code碼,并且跳轉回調頁面$redirect_uri
    
錯誤返回結果:
    {"errcode": 10003, "errmsg": "redirect_uri域名與后臺配置不一致"}
    返回結果參數說明:
    返回碼    說明
    10003    redirect_uri域名與后臺配置不一致
    10004    此公眾號被封禁
    10005    此公眾號并沒有這些scope的權限
    10006    必須關注此測試號
    10009    操作太頻繁了,請稍后重試
    10010    scope不能為空
    10011    redirect_uri不能為空
    10012    appid不能為空
    10013    state不能為空
    10015    公眾號未授權第三方平臺,請檢查授權狀態(tài)
    10016    不支持微信開放平臺的Appid,請使用公眾號Appid

透過getCode取得的code換取網頁授權的access_token和openid

public static function getAccessToken($code, $appid, $appsecret, $grant_type='authorization_code'){
    $url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type='.$grant_type.'';
    return Curl::callWebServer($url);
}
   
正確返回結果:
    { 
        "access_token": "ACCESS_TOKEN",
        "expires_in": 7200,
        "refresh_token": "REFRESH_TOKEN",
        "openid": "OPENID",
        "scope": "SCOPE"
    }
    返回參數說明
    參數            描述
    access_token    網頁授權接口調用憑證,注意:此access_token與基礎支持的access_token不同
    expires_in    access_token接口調用憑證超時時間,單位(秒)
    refresh_token    用戶刷新access_token
    openid    用戶唯一標識,請注意,在未關注公眾號時,用戶訪問公眾號的網頁,也會產生一個用戶和公眾號唯一的OpenID
    scope    用戶授權的作用域,使用逗號(,)分隔
    
錯誤返回結果:
    {"errcode":40029, "errmsg":"invalid code"}

3. 取得使用者資訊

#使用第2步驟中取得的openId和第1步驟中取得的token去取得使用者資訊

public static function getUserInfo($openId, $token){
    $url = 'https://api.weixin.qq.com/cgi-bin/user/info?access_token='.$token.'&openid='.$openId.'&lang=zh_CN';
    return Curl::callWebServer($queryUrl, '', 'GET');
}
正確返回結果:
    {
        "subscribe": 1, 
        "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", 
        "nickname": "Band", 
        "sex": 1, 
        "language": "zh_CN", 
        "city": "廣州", 
        "province": "廣東", 
        "country": "中國", 
        "headimgurl":"http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
        "subscribe_time": 1382694957,
        "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
        "remark": "",
        "groupid": 0,
        "tagid_list":[128,2],
        "subscribe_scene": "ADD_SCENE_QR_CODE",
        "qr_scene": 98765,
        "qr_scene_str": ""
    }
    返回參數說明:
        參數            說明
        subscribe       用戶是否訂閱該公眾號標識,值為0時,代表此用戶沒有關注該公眾號,拉取不到其余信息。
        openid          用戶的標識,對當前公眾號唯一
        nickname        用戶的昵稱
        sex             用戶的性別,值為1時是男性,值為2時是女性,值為0時是未知
        city            用戶所在城市
        country         用戶所在國家
        province        用戶所在省份
        language        用戶的語言,簡體中文為zh_CN
        headimgurl      用戶頭像,最后一個數值代表正方形頭像大小(有0、46、64、96、132數值可選,0代表640*640正方形頭像),用戶沒有頭像時該項為空。若用戶更換頭像,原有頭像URL將失效。
        subscribe_time  用戶關注時間,為時間戳。如果用戶曾多次關注,則取最后關注時間
        unionid         只有在用戶將公眾號綁定到微信開放平臺帳號后,才會出現該字段。
        remark          公眾號運營者對粉絲的備注,公眾號運營者可在微信公眾平臺用戶管理界面對粉絲添加備注
        groupid         用戶所在的分組ID(兼容舊的用戶分組接口)
        tagid_list      用戶被打上的標簽ID列表
        subscribe_scene 返回用戶關注的渠道來源,ADD_SCENE_SEARCH 公眾號搜索,ADD_SCENE_ACCOUNT_MIGRATION 公眾號遷移,ADD_SCENE_PROFILE_CARD 名片分享,ADD_SCENE_QR_CODE 掃描二維碼,ADD_SCENEPROFILE LINK 圖文頁內名稱點擊,ADD_SCENE_PROFILE_ITEM 圖文頁右上角菜單,ADD_SCENE_PAID 支付后關注,ADD_SCENE_OTHERS 其他
        qr_scene        二維碼掃碼場景(開發(fā)者自定義)
        qr_scene_str    二維碼掃碼場景描述(開發(fā)者自定義)

錯誤結果:
    {"errcode":40013,"errmsg":"invalid appid"}

三、使用

判斷是否有關注過,此處為入口:

public function isConcern($appId, $appSecret) {
    $param = ''; // 如果有參數
    $this->getCode($appId, U('callback', 'param='.$param), 1 ,'snsapi_base');
}

授權後回呼

public function callback(){
    $isconcern = 0;
    $code = $this->_get('code');
    $param = $this->_get('param');
    $appId = C('appId'); // config中配置
    $appSecret = C('appSecret');
    $accessTokenInfo = $this->getAccessToken($code, $appId, $appSecret);
    $openId = $accessTokenInfo['openid'];
    $accessToken = $accessTokenInfo['access_token'];
    $token = $this->getToken($appId, $appSecret);
    $userInfo = $this->getUserInfo($openId, $token['access_token']);
    if($userInfo['subscribe'] == 1){
        $this->assign('userInfo', $userInfo);
        $isconcern = 1; // 已關注
    } else {
        $isconcern = 0; // 未關注
    }
    $this->assign('openid', $openId);
    $this->display('page');
}

此時頁面上可以取得到userInfo和isconcern,isconcern為1時表示已關注公眾號,否則未關注。

相關推薦:

微信公眾號開發(fā)微信公眾號判斷使用者是否已關注php程式碼解析

PHP判斷字元類型php判斷用戶是否關注微信公眾號

影片:公眾號的關注與取消操作-0基礎微信開發(fā)入門

以上是還是程式碼好用,幾步就能判斷用戶是否已追蹤公眾號的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

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整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
PHP調用AI智能語音助手 PHP語音交互系統(tǒng)搭建 PHP調用AI智能語音助手 PHP語音交互系統(tǒng)搭建 Jul 25, 2025 pm 08:45 PM

用戶語音輸入通過前端JavaScript的MediaRecorderAPI捕獲並發(fā)送至PHP後端;2.PHP將音頻保存為臨時文件後調用STTAPI(如Google或百度語音識別)轉換為文本;3.PHP將文本發(fā)送至AI服務(如OpenAIGPT)獲取智能回復;4.PHP再調用TTSAPI(如百度或Google語音合成)將回復轉為語音文件;5.PHP將語音文件流式返回前端播放,完成交互。整個流程由PHP主導數據流轉與錯誤處理,確保各環(huán)節(jié)無縫銜接。

如何用PHP搭建社交分享功能 PHP分享接口集成實戰(zhàn) 如何用PHP搭建社交分享功能 PHP分享接口集成實戰(zhàn) Jul 25, 2025 pm 08:51 PM

在PHP中搭建社交分享功能的核心方法是通過動態(tài)生成符合各平臺要求的分享鏈接。 1.首先獲取當前頁面或指定的URL及文章信息;2.使用urlencode對參數進行編碼;3.根據各平臺協(xié)議拼接生成分享鏈接;4.在前端展示鏈接供用戶點擊分享;5.動態(tài)生成頁面OG標籤優(yōu)化分享內容展示;6.務必對用戶輸入進行轉義以防止XSS攻擊。該方法無需複雜認證,維護成本低,適用於大多數內容分享需求。

如何用PHP結合AI實現文本糾錯 PHP語法檢測與優(yōu)化 如何用PHP結合AI實現文本糾錯 PHP語法檢測與優(yōu)化 Jul 25, 2025 pm 08:57 PM

要實現PHP結合AI進行文本糾錯與語法優(yōu)化,需按以下步驟操作:1.選擇適合的AI模型或API,如百度、騰訊API或開源NLP庫;2.通過PHP的curl或Guzzle調用API並處理返回結果;3.在應用中展示糾錯信息並允許用戶選擇是否採納;4.使用php-l和PHP_CodeSniffer進行語法檢測與代碼優(yōu)化;5.持續(xù)收集反饋並更新模型或規(guī)則以提升效果。選擇AIAPI時應重點評估準確率、響應速度、價格及對PHP的支持。代碼優(yōu)化應遵循PSR規(guī)範、合理使用緩存、避免循環(huán)查詢、定期審查代碼,並藉助X

PHP打造博客評論系統(tǒng)變現 PHP評論審核與防刷策略 PHP打造博客評論系統(tǒng)變現 PHP評論審核與防刷策略 Jul 25, 2025 pm 08:27 PM

1.評論系統(tǒng)商業(yè)價值最大化需結合原生廣告精準投放、用戶付費增值服務(如上傳圖片、評論置頂)、基於評論質量的影響力激勵機制及合規(guī)匿名數據洞察變現;2.審核策略應採用前置審核 動態(tài)關鍵詞過濾 用戶舉報機制組合,輔以評論質量評分實現內容分級曝光;3.防刷需構建多層防禦:reCAPTCHAv3無感驗證、Honeypot蜜罐字段識別機器人、IP與時間戳頻率限制阻止灌水、內容模式識別標記可疑評論,持續(xù)迭代應對攻擊。

PHP實現商品庫存管理變現 PHP庫存同步與報警機制 PHP實現商品庫存管理變現 PHP庫存同步與報警機制 Jul 25, 2025 pm 08:30 PM

PHP通過數據庫事務與FORUPDATE行鎖確保庫存扣減原子性,防止高並發(fā)超賣;2.多平臺庫存一致性需依賴中心化管理與事件驅動同步,結合API/Webhook通知及消息隊列保障數據可靠傳遞;3.報警機制應分場景設置低庫存、零/負庫存、滯銷、補貨週期和異常波動策略,並按緊急程度選擇釘釘、短信或郵件通知責任人,且報警信息需完整明確,以實現業(yè)務適配與快速響應。

超越燈堆:PHP在現代企業(yè)體系結構中的作用 超越燈堆:PHP在現代企業(yè)體系結構中的作用 Jul 27, 2025 am 04:31 AM

PHPisstillrelevantinmodernenterpriseenvironments.1.ModernPHP(7.xand8.x)offersperformancegains,stricttyping,JITcompilation,andmodernsyntax,makingitsuitableforlarge-scaleapplications.2.PHPintegrateseffectivelyinhybridarchitectures,servingasanAPIgateway

如何用Mac搭建PHP Nginx環(huán)境 MacOS配置Nginx與PHP服務組合 如何用Mac搭建PHP Nginx環(huán)境 MacOS配置Nginx與PHP服務組合 Jul 25, 2025 pm 08:24 PM

Homebrew在Mac環(huán)境搭建中的核心作用是簡化軟件安裝與管理。 1.Homebrew自動處理依賴關係,將復雜的編譯安裝流程封裝為簡單命令;2.提供統(tǒng)一的軟件包生態(tài),確保軟件安裝位置與配置標準化;3.集成服務管理功能,通過brewservices可便捷啟動、停止服務;4.便於軟件升級與維護,提升系統(tǒng)安全性與功能性。

如何用PHP調用AI寫作輔助工具 PHP提升內容產出效率 如何用PHP調用AI寫作輔助工具 PHP提升內容產出效率 Jul 25, 2025 pm 08:18 PM

選擇AI寫作API需考察穩(wěn)定性、價格、功能匹配度及是否有免費試用;2.PHP用Guzzle發(fā)送POST請求並用json_decode處理返回的JSON數據,注意捕獲異常和錯誤碼;3.將AI內容融入項目需建立審核機制並支持個性化定制;4.優(yōu)化性能可採用緩存、異步隊列和限流技術,避免高並發(fā)下瓶頸。

See all articles