如何自定义绑定微信公众号

购买本功能前,请确认您的公众号符合以下任意一种情况:

1、您的微信公众号是已经通过认证的服务号;
2、您的微信公众号是已经通过认证的政府与媒体类订阅号;

 
您也可以登录微信公众后台-权限管理-网页登录授权查看是否已开通,如果已开通则可以绑定微信公众号。

 常见问题

如需使用自定义微信的服务,您需要向我们提供:

1:您的微信AppID和AppSecret(必要)

2:从公众平台上下载微信安全认证文件,并上传到mugeda自定义微信服务相应地址(必要)

3:提供自定义接口获取微信access_token和jsapi_ticket(非必要)


微信access_token和jsapi_ticke刷新须知
1.只有木疙瘩程序刷新,无其他程序刷新,只需提供AppID、AppSecret
2.有其他程序同时在刷新,会造成木疙瘩程序获取授权失败。
客户需根据其他程序刷新微信access_token及jsapi_ticke的具体情况在自定义接口选框中选择获取微信access_token或获取微信access_token及jsapi_ticke。
【获取微信access_token】其他程序只在刷新微信access_token时,选择当前选项,只在接口中返回微信access_token。
【取微信access_token及jsapi_ticke】其他程序在刷新微信access_token及jsapi_ticke时,选择当前选项,在接口中返回微信access_token及jsapi_ticke。

然后再输入框中填入接口地址。


新定制服务.png



自定义获取access_token接口文件示例:
<?php

$tokenInfo = getAccessToken();
$ticketInfo = getTicket();

// 如果 您的项目只使用到 access_token 可以只返回token,如下:
echo json_encode($tokenInfo);
// 返回实例:
// {
//     "access_token": "42_C5_nnl2tJIARcy1LoK1mx717tgc78VbRjRIrBhJvwK70td4XxhQJWHAbcTp2kqx38VocBE63ZDcT8OEUwMfxT1TPIEEGYsgufOLQkTEyu6rzKVAdv_MUso1JKvJL_WWyf8W1o1vsPKqxN83MIOYcAJAYEO",
// }

// 如果 您的项目还使用到 jsapi_ticket 需要增加 ticketInfo ,如下:
echo json_encode(array_merge($tokenInfo, $ticketInfo));
// 返回实例:
// {
//     "access_token": "42_C5_nnl2tJIARcy1LoK1mx717tgc78VbRjRIrBhJvwK70td4XxhQJWHAbcTp2kqx38VocBE63ZDcT8OEUwMfxT1TPIEEGYsgufOLQkTEyu6rzKVAdv_MUso1JKvJL_WWyf8W1o1vsPKqxN83MIOYcAJAYEO",
//     "ticket": "HoagFKDcsGMVCIY2vOjf9uemdg6YX99V_3m7-iqKauvrYt6MZ8A2nNE6dUVdXE61PgMMRUfoCeDEbr8IdTv9fA",
//     "creation_time": 1614239442,
//     "errcode": 0,
//     "errmsg": "ok",
// }

function getAccessToken()
{
    // 1、此处先通过缓存获取accessToken
    // 2、判断accessToken是否过期,如果过期
    // 2.1、调用 getAccessTokenByUrl 获取
    // 2.2、通过 setAccessToken 保存到缓存
    // 2.3 返回access_token
    // 3、如果没有过期,直接返回
    return [
        'access_token' => '您的access_token'
    ];
}
function getTicket()
{
    // 1、此处先通过缓存获取ticket
    // 2、判断ticket是否过期,如果过期
    // 2.1、调用 getTicketByUrl 获取
    // 2.2、通过 setTicketToRedis 保存到缓存
    // 2.3 返回access_token
    // 3、如果没有过期,直接返回
    return [
        'ticket' => '您的ticket',
        'creation_time' => '您的ticket获取的时间',
        'errcode' => '0', // 获取成功时,微信会返回 errcode : 0
    ];
}

function setAccessTokenToRedis($accessToken)
{
    // 此处将 accessToken 做缓存,过期时间7200m
    // setRedis('access_token', json_encode($tokenInfo);
}
function getAccessTokenToRedis()
{
    // 此处将获取缓存中的 accessToken
    // return getRedis('access_token');
}
// 通过微信的接口获取access_token
function getAccessTokenByUrl()
{
    $appid = 'wx7ed14675feedbf41'; // 此处为您的appid
    $appsecret = '29af92dd3288b26d11c37915593afd58'; // 此处为您的appsecret
    $exchange_url = "https://api.weixin.qq.com/cgi- ... ot%3B
        . $appid . "&secret=" . $appsecret . "&grant_type=client_credential";
    $ch = curl_init($exchange_url);
    curl_setopt($ch, CURLOPT_SSLVERSION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    $output = json_encode($output, true);
    return $output;
}

// 通过微信的接口获取ticket
function getTicketByUrl($access_token)
{
    $ticket_url = "https://api.weixin.qq.com/cgi- ... ot%3B . $access_token. "&type=jsapi";
    $ch = curl_init($ticket_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    $output = curl_exec($ch);
    curl_close($ch);
    $ticket_info = json_decode($output,true);
    return $ticket_info;
}

function setTicketToRedis($ticketInfo)
{
    // 此处将 ticket 做缓存,过期时间7200m
    // setRedis('ticket', json_encode($ticketInfo);
}
function getTicketTokenToRedis()
{
    // 此处将获取缓存中的 ticket
    // return getRedis('ticket');
}
?>



接口返回示例:
<?php

// 如果 您的项目只使用到 access_token 可以只返回token,如下:
echo json_encode($tokenInfo);
// 返回实例:
// {
//     "access_token": "42_C5_nnl2tJIARcy1LoK1mx717tgc78VbRjRIrBhJvwK70td4XxhQJWHAbcTp2kqx38VocBE63ZDcT8OEUwMfxT1TPIEEGYsgufOLQkTEyu6rzKVAdv_MUso1JKvJL_WWyf8W1o1vsPKqxN83MIOYcAJAYEO",
// }

// 如果 您的项目还使用到 jsapi_ticket 需要增加 ticketInfo ,如下:
echo json_encode(array_merge($tokenInfo, $ticketInfo));
// 返回实例:
// {
//     "access_token": "42_C5_nnl2tJIARcy1LoK1mx717tgc78VbRjRIrBhJvwK70td4XxhQJWHAbcTp2kqx38VocBE63ZDcT8OEUwMfxT1TPIEEGYsgufOLQkTEyu6rzKVAdv_MUso1JKvJL_WWyf8W1o1vsPKqxN83MIOYcAJAYEO",
//     "ticket": "HoagFKDcsGMVCIY2vOjf9uemdg6YX99V_3m7-iqKauvrYt6MZ8A2nNE6dUVdXE61PgMMRUfoCeDEbr8IdTv9fA",
//     "creation_time": 1614239442,
//     "errcode": 0,
//     "errmsg": "ok",
// }

?>


 
 

如果您需要将您使用的域名(有自定义域名服务),或者将mgd5.com域名(无自定义域名服务)绑定到微信的js接口安全域名中。
如果您的公众号有白名单的设置,您还需要先在您公众号的白名单设置里添加这个地址:121.40.175.93




———————————————————手把手教的分割线————————————————————————
 
1.首先在微信公众平台登录自己的公众号账号。
https://mp.weixin.qq.com/ 
然后,找到左边的基本配置



2.然后在IP白名单中填入这个地址:121.40.175.93

然后将您的开发者ID(AppID)和开发者密码(AppSecret)复制出来填入Mugeda的自定义微信服务相应位置,并点击确定

3.再回到微信后台中,选择设置->公众号设置,然后选择功能设置
 
点击js安全域名的设置
 
先下载认证文件,通过木疙瘩后台上传。
 
然后我们回到刚才js安全域名设置的页面
如果您有自定义域名,请将您的自定义域名填好。
若您没有自定义域名,请域名配置中填写:mgd5.com。
 
3选1,填1个即可

返回功能设置页面,点击网页授权域名的设置
 
在弹出的窗口中,填入:weika.mugeda.com
1597828605729-c6ad191977d77080.png 绑定公众号新.png
已邀请:

ddbackhome

赞同来自:

如果遇到转发信息没出来,可以按下边的几条来排查一下错误

1.AppID 和 AppSecret 信息
2.微信公众号下载的安全认证文件,上传到了mugeda
3.如果你们自己设置了自定义接口,需要找你们的技术确认接口是否可用
4.公众号设置里的js安全域名中,有添加你自己的自定义域名或者mgd5.com
5.公众号设置里白名单有添加121.40.175.93
6.公众号设置里网页授权域名有添加 weika.mugeda.com

如果都设置正确,可以新建一个作品,保存发布后,看看最新的发布链接是否正常可用

要回复问题请先登录注册