今天一早又碰到了此故障,我的经历如下所示,麻烦老师帮忙判断可能的原因:
获取access_token用处:获取用户地理位置,给用户发送信息等。
起因:微信更新access_token白名单保护功能(见1楼),我就设置了功能(11月/30日)。
故障:
12月1日,早上无法获取坐标,信息发送失败。
12月2日(今天),早上无法获取坐标,信息发送失败。
处理:
将服务器关闭,重新启动,问题解决,而且一整天都没有再发生(这两天晚上10点多还有正常获取坐标记录)。
但早上起来,就无法获取坐标,怀疑是0:00时候,要重新获取access_token?或者微信有做了什么设置?
(以前都是整月全天运行,没有发生过这样有规律的故障)
故障截图:
此主题相关图片如下:1234.jpg
以下2段代码一直在用,没有改动过:
1.获取access_token代码:
............
Dim tp As TimeSpan = Date.Now - CreateTime
Dim url As String = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}"
If tp.TotalSeconds > 3600 Then
Dim hc As New HttpClient(CExp(url,AppId,AppSecret))
Dim ret As String = hc.GetData()
If ret = "" Then '如果失败,再尝试一次
hc.GetData()
End If
CreateTime = Date.Now()
Dim jo As JObject = JObject.Parse(ret)
If jo("errcode") Is Nothing Then
AccessTocken = jo("access_token")
'Else '不屏蔽,获取失败会有弹窗,服务器停止响应。所以也就不知道获取失败的错误代码是什么?
'MessageBox.show("获取access_token失败[access_token获取],原因:" & vbcrlf & jo("errmsg").ToString)
End If
End If
.......
2.获取坐标代码:
wx.ready(function () {
//document.getElementById('scan1').onclick = function () { //屏蔽此代码,点击页面时(登录页面时),自动获取坐标,不需要用"scan"传递值
wx.getLocation({
type: 'wgs84', // 默认为'wgs84'的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
success: function (res) {
document.getElementById('纬度').value = res.latitude; // 纬度,浮点数,范围为90 ~ -90
document.getElementById('经度').value = res.longitude; // 经度,浮点数,范围为180 ~ -180。
}
});
//}; //屏蔽此代码,点击页面时(登录页面时),自动获取坐标,不需要用"scan"传递值
});
wx.error(function (res) {
//alert(res.errMsg);
});
[此贴子已经被作者于2017/12/2 8:32:04编辑过]