Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: datekk am Januar 17, 2017, 11:01:21

Titel: URL Shorter Service nutzen.
Beitrag von: datekk am Januar 17, 2017, 11:01:21
Mir geht es um den Google URL Shortener (https://goo.gl/)

Ich möchte gern von Access aus eine URL an diesen Service übergeben und die Short URL in eine Tabelle ablegen. Weiterhin soll es möglich sein, die Klickrate dieser URL abzurufen ggf. auch weitere Analyticsdaten.

Wie kann ich hier vorgehen? Es gibt hier sicher von Google zu diesem Service wieder eine API...

Danke schon mal :)
Titel: Re: URL Shorter Service nutzen.
Beitrag von: datekk am Januar 31, 2017, 17:21:37
... Lachtaube ???  ::) ;)
Titel: Re: URL Shorter Service nutzen.
Beitrag von: Lachtaube am Januar 31, 2017, 18:45:45
Soweit ich weiß, benötigst Du für die Nutzung des Google URL Shortener Dienstes von Google einen Developer-Key. Damit kann man dann Requests entsprechend der API (https://developers.google.com/url-shortener/v1/) posten.
Titel: Re: URL Shorter Service nutzen.
Beitrag von: datekk am Februar 01, 2017, 08:44:05
Hi Lachtaube,

ja, aber wie baue ich die URL Abfrage auf? Ich finde immer nur Beispiele in C#.

Ich habe folgendes probiert:
https://www.googleapis.com/urlshortener/v1/url?longurl=http://google.de

Damit erhalte ich aber immer folgende Fehlermeldung:
{
"error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Required parameter: shortUrl",
    "locationType": "parameter",
    "location": "shortUrl"
   }
  ],
  "code": 400,
  "message": "Required parameter: shortUrl"
}
}


Die URL will die Daten anders erhalten. In einem "Request Body" ??? Hier ein Beispiel:
POST https://www.googleapis.com/urlshortener/v1/url?key={YOUR_API_KEY}
{
"longUrl": "www.facebook.com"
}


Siehe: https://developers.google.com/url-shortener/v1/url/insert (https://developers.google.com/url-shortener/v1/url/insert)

Nur wie mache ich das?

Ich habe noch das hier probiert:
https://www.googleapis.com/urlshortener/v1/url?key=AIzaSyCAuFo4fc5cyf2UB{"longURL":"http://facebook.com"}

Hier erhalte ich aber die gleiche Fehlermeldung wie oben...
Titel: Re: URL Shorter Service nutzen.
Beitrag von: Lachtaube am Februar 01, 2017, 09:18:19
Ungetestet:Public Function GetGgl$(ByVal Target$)

   Const API_KEY$ = "Dein geheimer API-Key"

   Dim jsonData$

   jsonData = "{""longUrl"": """ & Target & """}"

   With CreateObject("WinHttp.WinHttpRequest.5.1")
      .Open "POST", "https://www.googleapis.com/urlshortener/v1/url?key=" & _
                    API_KEY, False
      .setRequestHeader "Content-Type", "application/json"
      .send jsonData

      If .status = 200 Then GetGgl = .responseText
   End With
End Function
Titel: Re: URL Shorter Service nutzen.
Beitrag von: datekk am Februar 01, 2017, 09:28:47
 ;D ;D ;D

Danke Dir. Habs mit ganz viel Google nun auch hinbekommen. Man muss erstmal wissen, wonach man Google erstmal befragen muss.

Hier meine Lösung:

Achtung: Vorher Verweis auf Microsoft XML, v6.0 setzen:

Private Sub URLShorterTest()

    Dim xmlhttp As New MSXML2.XMLHTTP60, myurl As String
   
    myurl = "https://www.googleapis.com/urlshortener/v1/url?key=AIzaSyCAuFo4fc5cyf2UB"
    With xmlhttp
   
    .Open "POST ", myurl
    .setRequestHeader "Content-Type", "application/json"
    .Send "{'longUrl': 'http://www.facebook.com/'}"
    MsgBox (.responseText)
   
    End With
   
End Sub


PS: Der Key ist natürlich gekürzt... Holt Euch Euren eigenen  :P ;D