Google Distance Matrix API密钥Excel VBA

时间:2016-07-20 15:58:17

标签: excel vba excel-vba api-key google-distancematrix-api

我无法使用API​​密钥在Excel文档中获取VBA代码以连接到我的帐户。不确定我是否将钥匙放在正确的位置。我甚至升级了我的帐户,并已启用结算功能。我试图支付它们,但它不会让我超过2,500笔交易。在此先感谢您的帮助。

编辑(7/20):
所以我更新了我的代码以使用ClientID而不是API密钥& clientid = EntersIDHere'它有效,但仍只有2500笔交易。

'Calculate Google Maps distance between two addresses
Public Function GetDistance(start As String, dest As String)
    Dim firstVal As String, secondVal As String, lastVal As String
    firstVal = "http://maps.googleapis.com/maps/api/distancematrix/json?origins="
    secondVal = "&destinations="
    lastVal = "&mode=car&language=en-US&clientid=EntersKeyHere"
    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    URL = firstVal & Replace(start, " ", "+") & secondVal & Replace(dest, " ", "+") & lastVal
    objHTTP.Open "GET", URL, False
    objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
    objHTTP.send ("")
    If InStr(objHTTP.responseText, """distance"" : {") = 0 Then GoTo ErrorHandl
    Set regex = CreateObject("VBScript.RegExp"): regex.Pattern = """value"".*?([0-9]+)": regex.Global = False
    Set matches = regex.Execute(objHTTP.responseText)
    tmpVal = Replace(matches(0).SubMatches(0), ".", Application.International(xlListSeparator))
    GetDistance = CDbl(tmpVal)
    Exit Function
ErrorHandl:
    GetDistance = -1
End Function

0 个答案:

没有答案