Zeige Ergebnis 1 bis 11 von 11
  1. #1
    Community-Forum Benutzerbild von Benrath
    Registriert seit
    Mai 2003
    Beiträge
    15.498
    Likes
    1200

    Kurzlink API Nutzung

    Moin,

    ich würde gerne über eine API tausende Links kürzen. Wie so häufig, hab ich dank meiner IT nur die Möglichkeit, dass in R zu machen. Der IT Kollege kann den Request in Postman abschicken, aber ich bekomms nicht in R hin, obwohl gedacht hätte, dass sowas mit dem httr package von R geht.

    Der Befehl den er sonst abschickt ist der:
    curl -X POST \
    https://t1p.de/sandbox \
    -H 'Content-Type: application/x-www-form-urlencoded' \
    -H 'cache-control: no-cache' \
    -d 'key=OURAPIKEYCODE&url=www.bundesnetzagentur.de&re questurl=bna000a&undefined'

    Bei Bedarf kann nich den API key auch per pn schicken.

    Bin halt völlig lost wie ich das in R abschicken könnte mit POST() aus dem httr package.
    "Wenn ihr nicht wisst wovon ihr redet, sprecht von einem System."


    "Wenn jeder an sich denkt, ist an alle gedacht !"

    "wollen wollen ist die höchste Form der Unterdrückung"


  2. #2
    Benutzerbild von skY
    Registriert seit
    Jan 2006
    Beiträge
    102
    Likes
    5
    r <- POST(url = "https://t1p.de/sandbox?key=DEIN_API_KEY&url=www.bundesnetzagentur .de&requesturl=bna000a&undefined")

    das '&undefined' am ende ist ziemlich sinnlos, das kann auch raus. vermute der it kollege hats nur uebersehen.

    kein plan warum da ein leerzeichen nach bundesnetzagentur eingefuegt wird. natuerlich entfernen, wenn ich den beitrag editere steht da keins :<
    Geändert von skY (23. Februar 2019 um 02:07 Uhr)

  3. #3
    Community-Forum Benutzerbild von Benrath
    Registriert seit
    Mai 2003
    Beiträge
    15.498
    Likes
    1200
    ok muss ich mal probieren, wobei es wahrscheinlich einfach an meinen Proxy Einstellungen auf der Arbeit liegt.

    ich habs sonst zu Hause auch mit GET() hinbekommen und bei Bitly
    test2<-paste0(test,"/v3/shorten?access_token=",
    generic.bitly,
    "&longUrl=http%3A%2F%2Fgoogle.com%2F")

    r<-GET(test2)

    Der API Key ist jetzt im Büro, eventuell versuche ichs morgen noch mal da, oder ich leb mit den Bitly short links.
    "Wenn ihr nicht wisst wovon ihr redet, sprecht von einem System."


    "Wenn jeder an sich denkt, ist an alle gedacht !"

    "wollen wollen ist die höchste Form der Unterdrückung"

  4. #4
    Benutzerbild von Bootdiskette
    Registriert seit
    Aug 2010
    Beiträge
    5.518
    Likes
    481
    Mal ganz blöd gefragt: Hast Du schon überlegt einfach den URL-Verkürzer selbst zu implementieren? Natürlich hängt das jetzt sehr vom Einsatzzweck ab, aber das lässt sich vermutlich auch recht simpel in R implementieren. Es gibt auch diverse Anleitungen im Netz, z.B. https://stackoverflow.com/questions/...-url-shortener

    Ja, Kanonen <--> Spatzen, aber what the heck why not?
    Zitat Zitat von Photon Beitrag anzeigen
    ,kgjkea5ulöp8öswsw4

  5. #5
    Community-Forum Benutzerbild von Benrath
    Registriert seit
    Mai 2003
    Beiträge
    15.498
    Likes
    1200
    Dann müsste ich die short Links ja selber irgendwo hosten bzw. die redirects, oder nicht?
    "Wenn ihr nicht wisst wovon ihr redet, sprecht von einem System."


    "Wenn jeder an sich denkt, ist an alle gedacht !"

    "wollen wollen ist die höchste Form der Unterdrückung"

  6. #6
    Benutzerbild von skY
    Registriert seit
    Jan 2006
    Beiträge
    102
    Likes
    5
    jup, brauchst irgendwo eine art backend + datenbank. je nach dem was die anwendung jetzt insgesamt machen soll.

    aber ganz massiver overkill, eher so atombombe <--> spatzen
    einziger grund sowas zu machen waere fuer mich, dass die links nicht bei 3rd parties gespeichert werden duerfen weil datenschutz oder bla oder chef es toll findet, wenn ihr eure eigene domain fuer die shorturls benutzt oder dergleichen.

  7. #7
    Community-Forum Benutzerbild von Benrath
    Registriert seit
    Mai 2003
    Beiträge
    15.498
    Likes
    1200
    das mit jetzt auch zu crazy.

    Dooferweise, klappt der Befehl oben nicht, aber jetzt ist egal. Schon zu viel Zeit dafür investiert.
    Bekomme zwar ne Antwort mit Status Meldung 200, aber kann nirgends wo das Resultat (den Kurzlink) finden.
    "Wenn ihr nicht wisst wovon ihr redet, sprecht von einem System."


    "Wenn jeder an sich denkt, ist an alle gedacht !"

    "wollen wollen ist die höchste Form der Unterdrückung"

  8. #8
    Community-Forum Benutzerbild von Benrath
    Registriert seit
    Mai 2003
    Beiträge
    15.498
    Likes
    1200
    In Python würde es wohl so aussehen und klappen. Erster Fehler ist wohl dass ich api statt sandbox nutzen müsste. Dann müsste ich aber noch irgendwas als content type und no cache angeben, damit es funktioniert.

    import io

    import requests

    import array



    file1 = open('./Mappe1_1900.txt')



    list1 = file1.readlines()

    file1.close()

    v = ''



    for x in list1 :

    url = "https://t1p.de/api"

    key = "key=mein API KEY"

    myUrl = "&" + "url=" + x

    ## myReUrl = "&" + "requesturl=bna-000"

    headers = {

    'Content-Type': "application/x-www-form-urlencoded",

    'cache-control': "no-cache",

    }

    response = requests.request("POST", url, data=key+myUrl, headers=headers)

    v += str(response.text)

    print(response.text)
    "Wenn ihr nicht wisst wovon ihr redet, sprecht von einem System."


    "Wenn jeder an sich denkt, ist an alle gedacht !"

    "wollen wollen ist die höchste Form der Unterdrückung"

  9. #9
    Benutzerbild von Bootdiskette
    Registriert seit
    Aug 2010
    Beiträge
    5.518
    Likes
    481
    Zitat Zitat von Benrath Beitrag anzeigen
    Dann müsste ich die short Links ja selber irgendwo hosten bzw. die redirects, oder nicht?
    Jo, ich war mir jetzt auch nicht wirklich sicher was Du damit am Schluss tun willst. Daraus folgt dann natürlich viel bzgl. der Rahmenbedingungen.
    Zitat Zitat von Photon Beitrag anzeigen
    ,kgjkea5ulöp8öswsw4

  10. #10
    Benutzerbild von skY
    Registriert seit
    Jan 2006
    Beiträge
    102
    Likes
    5
    cache-control header sollte egal sein wenn der server von t1p nicht sehr sehr merkwuerdig konfiguriert ist. https://developer.mozilla.org/en-US/.../Cache-Control

    content-type ist default ueberall application/x-www-form-urlencoded, wuerde mich stark wundern wenn R da jetzt ne ausnahme macht. wenns kein riesiges geheimnis ist kannst du mir gerne mal den api key schicken, dann schaue ich noch mal nach

  11. #11
    Community-Forum Benutzerbild von Benrath
    Registriert seit
    Mai 2003
    Beiträge
    15.498
    Likes
    1200
    Damit es für alle Zeit hier gelöst steht, die Lösung von Sky

    library(httr)
    library(xml2)

    body <- list(key = "MEIN API KEY", url = "www.bundesnetzagentur.de")
    r <- POST(url = "https://t1p.de/api", body = body, encode = "form")

    response_xml <- read_xml(r)
    xml_text(xml_child(xml_child(response_xml, "shorturl"), "url"))
    "Wenn ihr nicht wisst wovon ihr redet, sprecht von einem System."


    "Wenn jeder an sich denkt, ist an alle gedacht !"

    "wollen wollen ist die höchste Form der Unterdrückung"

Forumregeln

  • Es ist dir nicht erlaubt, neue Themen zu verfassen.
  • Es ist dir nicht erlaubt, auf Beiträge zu antworten.
  • Es ist dir nicht erlaubt, Anhänge hochzuladen.
  • Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
  •