这个网站试图解释这个过程:http ://admin.wechat.com/wiki/index.php?title=Access_token
问题是他们没有告诉你从哪里获得AppID或者秘密是什么。有没有其他人成功与微信通信?
这个网站试图解释这个过程:http ://admin.wechat.com/wiki/index.php?title=Access_token
问题是他们没有告诉你从哪里获得AppID或者秘密是什么。有没有其他人成功与微信通信?
本质上,我们@WeChat 有两种类型的帐户,订阅和服务。订阅帐户仅允许您访问消息 API,该 API 允许接收消息和自动回复,并允许您每天向用户广播一次。订阅帐户也分组在订阅下的联系人中的一个类别中。
服务帐户为您提供了一个 APP ID 和 APP SECRET,它允许您生成一个访问令牌,除了 Message API 之外,几乎所有其他 API 都需要该令牌。服务帐户显示在用户的联系人列表中,位于所有其他正常联系人之间的主要聊天下方。您只能在服务帐户上每月向每个用户广播一次。
如果您有服务帐户,您将从 admin.wechat.com -> 登录 -> 功能 -> 高级 -> 开发者模式 -> 在您的令牌下,您将看到 APP ID 和 APP SECRET 的 APP ID 和 APP SECRET
要查看您拥有的帐户类型,请访问 admin.wechat.com -> 登录,然后查看您的帐户名称旁边的屏幕右上角,您将看到您的帐户名称,在其上方会显示订阅帐户或服务帐户。
如果您想测试所有 API,我建议您进入开发人员沙箱环境,在该环境中您可以完全访问所有 API:Line 和 Wechat 如何与 href 链接?
请注意,您的号码需要采用国际格式,因此 072 111 2233 您必须输入 +27721112233
你可以去http://dev.wechat.com/注册一个开发者账号。
注册后,您将通过注册电子邮件获得您的 App ID 和 AppKey。
然后,您可以访问http://admin.wechat.com/wiki/index.php?title=Main_Page获取更多信息。
我在 github 上写了一个代码片段,解释了整个过程。该代码适用于 django,但可以与任何 python 框架一起使用
这是一个片段
import xml.etree.ElementTree as ET
from wechat.views import WeChatView
MyCustomView(WeChatView):
token = "ad4sf65weG7Db6ddWE"
on_message(self, message):
root = ET.fromstring(message)
from = root[1].text
message_type = root[3].text
content = root[4].text
print('from: {}'.format(from))
print('message type: {}'.format(message_type))
print('content: {}'.format(content))
这是我的代码,也许你可以试试。
//Getting access_token from customize menus
static function get_access_token($appid,$secret){
$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret;
$json=http_request_json($url);//here cannot use file_get_contents
$data=json_decode($json,true);
if($data['access_token']){
return $data['access_token'];
}else{
return "Error occurred while geting the access_token";
}
}
//Though URL request is https',cannot use file_get_contents.Using CURL while asking the JSON data
function http_request_json($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}