微信授權(quán)登陸與自定義分享

微信授權(quán)登陸

第一步:用戶(hù)同意授權(quán)骤视,獲取code

在確保微信公眾賬號(hào)擁有授權(quán)作用域(scope參數(shù))的權(quán)限的前提下(服務(wù)號(hào)獲得高級(jí)接口后孤个,默認(rèn)擁有scope參數(shù)中的snsapi_base和snsapi_userinfo),引導(dǎo)關(guān)注者打開(kāi)如下頁(yè)面:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
第二步:通過(guò)code換取網(wǎng)頁(yè)授權(quán)access_token
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code 
第三步:刷新access_token(如果需要)
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN 
第四步:拉取用戶(hù)信息(需scope為 snsapi_userinfo)
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN 
具體代碼實(shí)現(xiàn)
public function actionGetUserInfo(){
        //第一步:用戶(hù)同意授權(quán)酵幕,獲取code
        $appid = "wx9c044f";
        $redirect_url = urlencode("http://admin.cheesebeer.net/index.php?r=share/get-user");
        $url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_url."&response_type=code&scope=snsapi_userinfo&state=".time()."#wechat_redirect";
        header("location:".$url);
    }
public function actionGetUser(){
        $code = $_GET['code'];
        $appid = "wx9c044f981";
        $app_secret = "3fd73bb4cd76af92528e3";
        $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$app_secret."&code=".$code."&grant_type=authorization_code";
        $res = json_decode($this->_http_curl_get($url));

        if(isset($res->access_token)){
            $get_user_url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$res->access_token."&openid=".$res->openid."&lang=zh_CN";
            $user_info = json_decode($this->_http_curl_get($get_user_url));
            $target_url = "http://movietip1.duapp.com/index.html?headimgurl=".$user_info->headimgurl."&nickname=".$user_info->nickname;
            header("location:".$target_url);
        }
    }
注意點(diǎn)

需要在微信后臺(tái)填寫(xiě) 授權(quán)回調(diào)頁(yè)面域名: 即上面的$redirect_url芬迄,$redirect_url需要urlencode,才能正常使用

Paste_Image.png

自定義分享接口

代碼采用的是yii2框架作為開(kāi)發(fā)的基礎(chǔ)框架

public function actionShare()
    {

        $app_id = Yii::$app->request->get('app_id','wx3639f3e999c3');
        $app_secret = Yii::$app->request->get('app_secret','5e0d10f0f9b8c593e48f5dec');
        $url = Yii::$app->request->get('url','http://marqian.duapp.com/');

        $options = [
            "app_id"=>$app_id,
            "secret"=>$app_secret,
        ];

        $wechat = new Application($options);
        $wechat->js->setUrl($url);

        return ($wechat->js->config(['onMenuShareTimeline','onMenuShareAppMessage'],true));

    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末又厉,一起剝皮案震驚了整個(gè)濱河市嘲碧,隨后出現(xiàn)的幾起案子稻励,更是在濱河造成了極大的恐慌,老刑警劉巖愈涩,帶你破解...
    沈念sama閱讀 211,423評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件望抽,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡履婉,警方通過(guò)查閱死者的電腦和手機(jī)煤篙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)毁腿,“玉大人辑奈,你說(shuō)我怎么就攤上這事∫芽荆” “怎么了鸠窗?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,019評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)草戈。 經(jīng)常有香客問(wèn)我塌鸯,道長(zhǎng)侍瑟,這世上最難降的妖魔是什么唐片? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,443評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮涨颜,結(jié)果婚禮上费韭,老公的妹妹穿的比我還像新娘。我一直安慰自己庭瑰,他們只是感情好星持,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,535評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著弹灭,像睡著了一般督暂。 火紅的嫁衣襯著肌膚如雪揪垄。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,798評(píng)論 1 290
  • 那天逻翁,我揣著相機(jī)與錄音饥努,去河邊找鬼。 笑死八回,一個(gè)胖子當(dāng)著我的面吹牛酷愧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播缠诅,決...
    沈念sama閱讀 38,941評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼溶浴,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了管引?” 一聲冷哼從身側(cè)響起士败,我...
    開(kāi)封第一講書(shū)人閱讀 37,704評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎褥伴,沒(méi)想到半個(gè)月后拱烁,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,152評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡噩翠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,494評(píng)論 2 327
  • 正文 我和宋清朗相戀三年戏自,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伤锚。...
    茶點(diǎn)故事閱讀 38,629評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡擅笔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出屯援,到底是詐尸還是另有隱情猛们,我是刑警寧澤,帶...
    沈念sama閱讀 34,295評(píng)論 4 329
  • 正文 年R本政府宣布狞洋,位于F島的核電站弯淘,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏吉懊。R本人自食惡果不足惜庐橙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,901評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望借嗽。 院中可真熱鬧态鳖,春花似錦、人聲如沸恶导。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至邦泄,卻和暖如春删窒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背顺囊。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,978評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工易稠, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人包蓝。 一個(gè)月前我還...
    沈念sama閱讀 46,333評(píng)論 2 360
  • 正文 我出身青樓驶社,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親测萎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子亡电,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,499評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容