接入百度小程序云加速缓存后,每次发布完新内容都要等待,等待一段6-12个小时才能在百度小程序内刷新,下面就简单说说使用php刷新百度小程序缓存的方法。

获取百度小程序的access_token

$appid = " 你的百度小程序 App Key ";
$secret = " 你的百度小程序 App Secret ";

$r = file_get_contents("https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=".$appid."&client_secret=".$secret."&scope=smartapp_snsapi_base");

$data = json_decode($r,true);

$access_token = $data['access_token'];

echo json_encode($access_token)

请求刷新百度小程序云加速缓存

$appid = " 你的百度小程序 App Key ";

$access_token = " 通过接口获取出来的 access_token ";

$api = file_get_contents("https://openapi.baidu.com/rest/2.0/smartapp/storage/component/reset?appkey=".$appid."&access_token=".$access_token);

$post = json_decode($api,true);

echo json_encode($post);

思路就是将俩个代码合并,可以通过 ajaxa 实现俩次请求,先 get 后 post ,每次提交新内容,可以刷新百度小程序云加速缓存,以下演示代码在 Zblog博客程序已实现。

function bdcloud_DelArticle_Succeed($id){
    global $zbp;
    $client_id=$zbp->Config('bdcloud')->appkey;
    $client_secret=$zbp->Config('bdcloud')->appsecret;
    $url="https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=".$client_id."&client_secret=".$client_secret."&scope=smartapp_snsapi_base";
    $ajax = Network::Create();
    $ajax->open('GET', $url);
    $ajax->enableGzip();
    $ajax->setTimeOuts(60, 60, 0, 0);
    $ajax->send();
    $response = json_decode($ajax->responseText, true);
    $access_token=$response['access_token'];
	
    $api = "https://openapi.baidu.com/rest/2.0/smartapp/storage/component/reset?appkey=".$client_id."&access_token=".$access_token;
    $ajaxa = Network::Create();
    $ajaxa->open('POST', $api);
    $ajaxa->enableGzip();
    $ajaxa->setTimeOuts(120, 120, 0, 0);

    $ajaxa->send();
    if($ajaxa->status == 200){
        $response = json_decode($ajaxa->responseText, true);
        if($response['errno']==0){
            $zbp->SetHint('good','刷新百度小程序缓存成功:'.$response['errmsg']);
        }else{
            $zbp->SetHint('good','百度小程序快收推送失败:'.$response['error_msg']);
        }
    }else{
        $zbp->SetHint('good','刷新百度小程序缓存失败');
    }
}

Zblog应用中心已免费上架刷新百度小程序云加速缓存的插件,实现起来很简单,也希望能帮助到大家,其他程序原理一样,根据自己喜欢部署即可。