V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
picasso250
V2EX  ›  问与答

要做一个微信自定义菜单的demo,但无内测资格,求帐号,求appid,求代码

  •  
  •   picasso250 · 2013-07-18 12:02:41 +08:00 · 4856 次点击
    这是一个创建于 4240 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现已经做到这个地步,但无法验证。

    <?php
    class WeiChatAuth
    {
    /**
    * 获取access_token
    *
    * 一定通过网络获取
    */
    public static function getAccessToken($appid, $appsecret)
    {
    $params = array(
    'grant_type' => 'client_credential',
    'appid' => $appid,
    'secret' => $appsecret,
    );
    $query = http_build_query($params);
    $url = 'https://api.weixin.qq.com/cgi-bin/token?'.$query;
    $return = file_get_contents($url);
    $ret = json_decode($return);
    if (is_object($ret) && isset($ret->access_token)) {
    return $ret->access_token;
    } elseif (is_object($ret)) { // 返回错误信息 errcode=>x, errmsg=>x,
    return $ret;
    }
    return false;
    }
    }
    class WeiChatMenu
    {
    private $access_token;
    private $url = 'https://api.weixin.qq.com/cgi-bin/menu/'
    /**
    * 设置access_token
    *
    * 在调用本类的任何方法之前,都必须调用这个方法先
    * 只需要调用一次
    */
    public function setAccessToken($access_token)
    {
    $this->access_token = $access_token;
    }
    /**
    * 获取菜单结构
    */
    public function get()
    {
    if (empty($this->access_token)) {
    return false;
    }
    $url = $this->url.'get?access_token='.$this->access_token;
    $return = file_get_contents($url);
    $ret = json_encode($return);
    return $ret;
    }
    /**
    * 删除菜单
    *
    * 注意,此方法将删除所有的菜单,慎用!
    *
    * @return 成功返回true,失败返回失败结构体
    */
    public function delete()
    {
    if (empty($this->access_token)) {
    return false;
    }
    $url = $this->url.'delete?access_token='.$this->access_token;
    $return = file_get_contents($url);
    $ret = json_encode($return);
    if (is_object($ret) && isset($ret->errcode) && $ret->errcode == 0) {
    return true;
    }
    return $ret;
    }
    /**
    * 创建菜单
    *
    * 此方法尚且不明调用方式,待测试
    *
    * @return 成功返回true,失败返回失败结构体
    */
    public function create($data)
    {
    $ch = curl_init($this->url.'create?access_token='.$this->access_token);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $return = curl_exec($ch);
    if (curl_errno($ch)) {
    $error = new stdClass;
    $error->errcode = curl_errno($ch);
    $error->errmsg = curl_error($ch);
    return $error;
    }
    $ret = json_encode($return);
    if (is_object($ret) && isset($ret->errcode) && $ret->errcode == 0) {
    return true;
    }
    return $ret;
    }
    }
    view raw WeiChat.php hosted with ❤ by GitHub


    另:已经做好了自动回复demo,定点回复demo。

    微信已经关闭了内测资格申请。

    如果想要代码,说一声,我就发。
    10 条回复    1970-01-01 08:00:00 +08:00
    iasa
        1
    iasa  
       2013-08-06 12:46:44 +08:00
    给我一份代码 wechat@iasa.cn
    hear351
        2
    hear351  
       2013-08-06 13:47:58 +08:00
    可以也发我一份么 谢谢 hear_351@163.com
    cloverstd
        3
    cloverstd  
       2013-08-06 13:54:02 +08:00 via Android   ❤️ 1
    现在貌似转成服务账户就可以申请了
    hear351
        4
    hear351  
       2013-08-06 14:52:24 +08:00
    服务帐号 发送的量小
    subpo
        5
    subpo  
       2013-08-06 14:56:32 +08:00
    为啥不用服务号,秒申请,昨天晚上申请,今天过了
    and,可以用webot测试
    iasa
        6
    iasa  
       2013-08-06 15:19:29 +08:00
    我不用了 谢谢了 搞定了
    tz15226362469
        7
    tz15226362469  
       2013-08-06 23:14:09 +08:00
    兄弟。给我发一份代码:1132834989@qq.com
    Tobyzzy
        8
    Tobyzzy  
       2013-08-07 15:37:49 +08:00
    您好,请问可以能向您请教一下么 这是我的qq 124062100@qq.com
    picasso250
        9
    picasso250  
    OP
       2013-08-08 13:47:16 +08:00
    @hear351 @Tobyzzy 已发
    e2ghost
        10
    e2ghost  
       2013-08-08 15:16:11 +08:00
    希望能给我一份参考,谢谢:)
    e2ghost@gmail.com
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1051 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:16 · PVG 03:16 · LAX 11:16 · JFK 14:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.