こんばんは。
現在、エクセルのマクロで、Google短縮URLAPIから特定の値のみを取りだそうと試みているのですが失敗してしまいます。
VBA
1'標準モジュール 2Public Function GetShortenUrlAnalyticser(ByVal TargetURL As String) As String 3'Google URL Shortener APIを使って短縮URLを取得 4 Dim js As String 5 Const api As String = "api-key" 6 Const analy As String = "analytics_clicks" 7 8 With CreateObject("MSXML2.XMLHTTP") 9 .Open "GET", "https://www.googleapis.com/urlshortener/v1/url?key=" & api & "&shortUrl=" & TargetURL & "&projection=" & analy, False 10 .send 11 js = .responseText 12 End With 13 GetShortenUrlAnalyticser = JSONParser(js) 14End Function 15 16Private Function JSONParser(ByVal data As String) As String 17 Dim sc As Object 'object格納 18 Dim func As String 'jsfunの格納 19 20 Set sc = CreateObject("ScriptControl") 21 22 sc.Language = "JScript" 23 24 func = "function getValue(value){ return JSON.parse(value).analytics.allTime.shortUrlClicks}" 25 sc.AddCode func 26 JSONParser = sc.CodeObject.getValue(data) 27End Function
このような感じで、json自体は取得ができているのをイミディエイトウィンドウから確認済みです。
JSONParserを実行するとおかしくなっているみたいで。
ご教授よろしくお願いします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。