Rumah  >  Artikel  >  applet WeChat  >  Realisasikan pengumpulan maklumat artikel yang diterbitkan di WeChat

Realisasikan pengumpulan maklumat artikel yang diterbitkan di WeChat

XuPing.Yang
XuPing.Yangasal
2022-02-12 13:13:153806semak imbas

Baru-baru ini, pelanggan perlu melaksanakan fungsi sedemikian Selepas mereka menerbitkan maklumat artikel di platform awam WeChat, mereka juga perlu menerbitkannya semula di tapak web rasmi melaksanakannya di platform awam WeChat Selepas platform menerbitkan artikel, ia boleh diterbitkan ke laman web rasmi pada masa yang sama Melalui penyelidikan, editor mendapati bahawa laman web rasmi platform awam WeChat menyediakan antara muka pengumpulan maklumat alamat asal adalah seperti berikut: https://developers.weixin.qq.com/doc /offiaccount/Asset_Management/Get_materials_list.html

Nama antara muka ialah: Dapatkan bahan kekal , apabila menambah artikel bahan baharu, klik pada maklumat bahan artikel yang disimpan selepas diterbitkan, seperti yang ditunjukkan di bawah:

Realisasikan pengumpulan maklumat artikel yang diterbitkan di WeChat

Hanya bahan artikel yang sedang diterbitkan boleh dikumpulkan jika anda mengklik butang terbitkan dan simpannya ke rekod penerbitan--penerbitan, seperti ditunjukkan di bawah:

Realisasikan pengumpulan maklumat artikel yang diterbitkan di WeChat

Editor di bawah akan menerangkan secara terperinci

Antaramuka :

Kaedah permintaan http:

POS https ://api.weixin.qq.com/cgi-bin/material /batchget_material?access_token=ACCESS_TOKEN

1 Dapatkan ACCESS_TOKEN

public function getAccessToken(){
    $info = Db::name('access_token')->order('inputtime desc')->find();
    if($info){
        $time = time();
        $long_time = $time - $info['updatetime'];
        if($long_time>=$info['expires_in']){
            $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->secret;
            $res = $this->getJson($url);
            if(in_array('access_token',$this->DbSy->GetArrElement($res))){
                $insert['access_token'] = $res['access_token'];
                $insert['expires_in'] = $res['expires_in'];
                $insert['updatetime'] = time();
                $up_info = Db::name('access_token')->where('id',$info['id'])->update($insert);
                if(!$up_info){
                    return json(['code'=>103,'msg'=>'AccessToken更新失败']);
                }
                $AccessToken = $res['access_token'];
            }else{
                return json(['code'=>100,'msg'=>'AccessToken获取失败']);
            }
        }else{
            $AccessToken = $info['access_token'];
        }
    }else{
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->secret;
        $res = $this->getJson($url);
        if(in_array('access_token',$this->DbSy->GetArrElement($res))){
            $insert['access_token'] = $res['access_token'];
            $insert['expires_in'] = $res['expires_in'];
            $insert['updatetime'] = time();
            $insert['inputtime'] = time();
            $up_info = Db::name('access_token')->where('id',$info['id'])->insertGetId($insert);
            if($up_info){
                $AccessToken = $res['access_token'];
            }else{
                return json(['code'=>101,'msg'=>'AccessToken插入失败']);
            }

        }else{
            return json(['code'=>100,'msg'=>'AccessToken获取失败']);
        }
    }
    return $AccessToken;
}

Nota:

Sebelum pengeluaran, anda perlu tambah jadual data: access_token dalam pangkalan data, yang digunakan untuk menyimpan nilai access_token yang diperoleh, kerana tempoh sah setiap nilai access_token yang diperoleh ialah 7200s, untuk mengelakkan pemerolehan berulang nilai access_token.

2 Dapatkan senarai bahan

Selepas mendapat nilai access_token, anda boleh mendapatkan senarai bahan melalui nilai access_token:

public function getArticleList($offset,$type='news',$length=20){
    $data = array(
        'type'=>$type,
        'offset'=>$offset,
        'count'=>$length
    );
    $json_data = json_encode($data);
    $AccessToken = $this->getAccessToken();
    $url = "https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=".$AccessToken;
    $res = $this->getJsonData($url,$json_data);
    return $res;
    //dump($res);
}

Antara mereka:

(1) jenis, iaitu jenis bahan, seperti imej, video, suara, berita

(2) mengimbangi, iaitu nilai semua bahan Kedudukan mengimbangi mula kembali, 0 bermakna kembali daripada bahan pertama

(3) kiraan, bilangan bahan yang dipulangkan, nilainya antara 1 dan 20

Di atas ialah ringkasan editor Bagaimana untuk dapatkan maklumat material artikel yang diterbitkan di platform awam WeChat Harap maaf jika ada kekurangan saya harap ia dapat membantu semua.

Atas ialah kandungan terperinci Realisasikan pengumpulan maklumat artikel yang diterbitkan di WeChat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn