• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    NYXnyx :: API
    Nove API:
    Postup ziskani tokenu

    Postupně vznikající popis API ve Swaggeru (už by tam měl být nějaký základ):
    https://app.swaggerhub.com/apis/nyx.cz/nyx.cz/0.0.1 
    rozbalit záhlaví
    NYX
    NYX --- ---
    GIOMIKY: Nejsem pythonista, ale ciste kdyz na to koukam, tak ty postupujes presne naopak...udelas nejaky multipart a ten strcis jako jeden z parametru.

    Spravne ty naopak mas udelat multipart body a do nej nastrkat jak parametry, tak soubory.

    content-disposition je pak vlastnost konkretniho kusu toho multipartu, ne requestu jako celku.

    Nevim jakou verzi urllib tam mas, tady je priklad pro dvojku. https://pymotw.com/2/urllib2/#uploading-files
    GIOMIKY
    GIOMIKY --- ---
    Ahoj, asi je to moje blbost... ale uz nekolik dni se prubezne snazim odeslat z Conyxu Multipart. A funguje mi request do te doby, nez dam do hlavicky, ze se jedna o multipart jako prvni cast headru a jako druhou cast velikost tela zpravy. V tom pripade se mi okamzite vrati unatuhorized. Jako ja requestum moc nerozumim, ale kam ma tedy prijit ten multipart? Ted to vypada nejak takhle:
     from mpart import mpart
      from mpart import boundary
      body=mpart()
      params = urlencode({
        'auth_nick': get_auth_nickname(),
        'auth_token': get_auth_token(),
        'l' : 'discussion',
        'l2' : 'send',
        'id' : p_disc_key,
        'message' : p_message,
        'attachment' : body
      })  
      req=urllib.request.Request(url)
      req.add_header('content-disposition' , 'attachment')
      req.add_header('content-type' , 'multipart/form-data; boundary="' + boundary + '"')
      req.add_header('content-length' , str(len(params)))
      f=urllib.request.urlopen(req,data=params.encode('utf8'))
      print(f.read())
    

    Uz jsem zkousel mnoho ruznych obmen, ale stale bud Nyx neprijme obrazek, anebo kdyz upravuji hlavicky, tak pise, ze nejsem autorizovan. Kdyby nekdo umel trosku napovedet, tak bych byl neskonale rad. Treba tam mam nejakou naprosto zrejmou chybu, kterou nevidim...
    NYX
    NYX --- ---
    LUCIEN: Ja mam podezreni, ze ten tag ti zavre prohlizec, v html ti nejspis chodi to cos posilal jako prvni.
    LUCIEN
    LUCIEN --- ---
    LUCIEN: Pardon, ono to ten prvni odkaz uzavre, takze je prazdny, takhle...
    
    <a href="http://google.com"></a> <a href="http://i.mg/t.jpg"><img src="http://nyx.cz/...../thumb.jpg"></a>
    LUCIEN
    LUCIEN --- ---
    NYX: Vidim v tom trochu problem... Pokud uzivatel odesle napr.:

    
    <a href="http://google.com"><img src="http://i.mg/t.jpg"></a>
    


    tak to api vrati takhle

    
    <a href="http://google.com"><a href="http://i.mg/t.jpg"><img src="http://nyx.cz/...../thumb.jpg"></a></a>
    


    ...
    NYX
    NYX --- ---
    LUCIEN: Api posila zmensene obrazky s odkazem na original
    LUCIEN
    LUCIEN --- ---
    Narazil jsem na takovou zvlastnost. Nyx API obaluje z nejakeho duvodu <img> tagy vlastnim <a> tagem? Priklad...

    Volani:
    
    curl --location --request POST 'http://www.nyx.cz/api.php' \
    --form 'auth_nick=***' \
    --form 'auth_token=***' \
    --form 'l=discussion' \
    --form 'l2=messages' \
    --form 'id=14158' \
    --form 'direction=older' \
    --form 'id_wu=51989987'
    


    Vrati:
    
    {
        "attributes": [],
        "data": [
            {
                "id_wu": "51989986",
                "nick": "ALENNAI",
                "time": "1588769724",
                "content": "Letenské náměstí, Pha<br/>\r\n1906<br/>\r\n<a href=\"https://scontent-frt3-1.xx.fbcdn.net/v/t1.0-9/95868467_10222313885457008_571386579155681280_n.jpg?_nc_cat=107&_nc_sid=1480c5&_nc_ohc=nvnC0EI1qMAAX-2mtaB&_nc_ht=scontent-frt3-1.xx&oh=7d89cd186d79edc4ef2375e70a80b7bc&oe=5ED82A68\"><img src=\"http://www.nyx.cz/i/t/57e4561116d3732129579027e75c25f2.png?url=https%3A%2F%2Fscontent-frt3-1.xx.fbcdn.net%2Fv%2Ft1.0-9%2F95868467_10222313885457008_571386579155681280_n.jpg%3F_nc_cat%3D107%26_nc_sid%3D1480c5%26_nc_ohc%3DnvnC0EI1qMAAX-2mtaB%26_nc_ht%3Dscontent-frt3-1.xx%26oh%3D7d89cd186d79edc4ef2375e70a80b7bc%26oe%3D5ED82A68\" class=\"thumb\"></a><br/>\r\nsoučasnost<br/>\r\n<a href=\"https://upload.wikimedia.org/wikipedia/commons/4/4a/Letensk%C3%A9_n%C3%A1m%C4%9Bst%C3%AD%2C_od_z%C3%A1padu%2C_tramvajov%C3%A1_zast%C3%A1vka.jpg\"><img src=\"http://www.nyx.cz/i/t/a9afd1f6e5b05fcdaa9ceb41840dfaf2.png?url=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F4%2F4a%2FLetensk%25C3%25A9_n%25C3%25A1m%25C4%259Bst%25C3%25AD%252C_od_z%25C3%25A1padu%252C_tramvajov%25C3%25A1_zast%25C3%25A1vka.jpg\" class=\"thumb\"></a> ",
                "wu_rating": "47",
                "wu_type": "0"
            },
    ...
    


    Zatimco kdyz si v browseru inspectnu ten samy prispevek, tak to vrati toto

    
    Letenské náměstí, Pha<br/> 1906<br/> <img src="https://scontent-frt3-1.xx.fbcdn.net/v/t1.0-9/95868467_10222313885457008_571386579155681280_n.jpg?_nc_cat=107&amp;_nc_sid=1480c5&amp;_nc_ohc=nvnC0EI1qMAAX-2mtaB&amp;_nc_ht=scontent-frt3-1.xx&amp;oh=7d89cd186d79edc4ef2375e70a80b7bc&amp;oe=5ED82A68"><br/> současnost<br/> <img src="https://upload.wikimedia.org/wikipedia/commons/4/4a/Letensk%C3%A9_n%C3%A1m%C4%9Bst%C3%AD%2C_od_z%C3%A1padu%2C_tramvajov%C3%A1_zast%C3%A1vka.jpg">
    


    ... tedy podstatne kratsi post orezany o veskere anchor tagy.

    To je zamer?
    GIOMIKY
    GIOMIKY --- ---
    Sorry, já měl pocit, že Nyx API používá Unix Timestamp. Tak to možná nechápu úplně správně, ale měl jsem pocit, že všechny Unix Timestampy budou mít potíž po 2038. Ale možná to chápu špatně. Mohl by mi to prosím někdo osvětlit? Je to jenom v případě, že se k výpočtu data použije 32-bitová proměnná? A tudíž, když se použije 64-bitový, tak se nic nestane a normálně se výpočítá 2039 atp.?
    GIOMIKY
    GIOMIKY --- ---
    Mozna je to predcasne, ale Nyx API asi bude zlobit v roce 2038 ...
    Year 2038 problem - Wikipedia
    https://en.wikipedia.org/wiki/Year_2038_problem
    GIOMIKY
    GIOMIKY --- ---
    ok, dekuji, potrebovalo to docistit odesilany retezec...
    NYX
    NYX --- ---
    Imho slape
    NYX
    NYX --- ---
    Test

    Apollo 11 Saturn V Launch Camera E-8
    http://www.youtube.com/watch?v=DKtVpvzUF1Y
    GIOMIKY
    GIOMIKY --- ---
    Takova otazka... kdyz posilam video z youtube pres web, tak se nacte nahled... a zpracuje... viz:
    80's Gothic Rock/ Darkwave Mix
    http://www.youtube.com/watch?v=AkBRXIRhEhc

    Ale kdyz ho poslu z API tak se nenacte k nemu nahled... je to mozne, anebo chyba klienta?
    LUCIEN
    LUCIEN --- ---
    Nyxi, jsi nakloneny k nejakemu dalsimu rozsirovani API? Myslim, ze urcite drobnosti jako - novy endpoint pro vypis upominek, by se siknul a nemusel by to byt tak pracne (snad)...
    DATEL
    DATEL --- ---
    NYX: ok, zatím není potřeba, ale dám kdyžtak vědět, až to bude aktuální. Díky.
    NYX
    NYX --- ---
    DATEL: Co jsem koukal, server side je to jen zmena endpointu, tak cekam na prvniho klienta co to bude chtit.
    DATEL
    DATEL --- ---
    @Nyx: prosím tě, jak je to se serverovou podporou pro notifikace pro Androida? Pořád tam je GCM nebo už je to převedené na Firebase Cloud Messages? Díky za info.
    LUCIEN
    LUCIEN --- ---
    LUCIEN: Tak uz mi to doslo. Tohle to vraci, kdyz clovek palcuje svuj vlastni prispevek...
    LUCIEN
    LUCIEN --- ---
    Funguje v api palcovani? At delam co delam, vraci se mi 404 - Writeup not found.

    Koukal jsem, ze z webu se posila id a id_comment namisto id_klub a id_wu, ale tim to neni. Prispevek samozrejme existuje, to samy ID volany z webu palcuje, ale z api ne... Prehlizim neco?

    Volam:
    
    curl --location --request POST 'http://www.nyx.cz/api.php' \
    --header 'Content-Type: multipart/form-data; boundary=--------------------------949504874427496235609830' \
    --form 'auth_nick=*******' \
    --form 'auth_token=*****************************' \
    --form 'l=discussion' \
    --form 'l2=rating_give' \
    --form 'id_klub=1786' \
    --form 'id_wu=51781434' \
    --form 'rating=positive' \
    --form 'toggle=1'
    


    Vraci se mi:
    
    {"result":"error","code":"404","error":"Writeup not found","system":{"max_file_size":"10485760","notice_count":"1","premium":"1"}}
    


    Diky.
    LUCIEN
    LUCIEN --- ---
    NYX: Tak jsem se smazal a dal si facku. Pochopil jsem to trochu jinak. Nenapadlo me, ze pokud manualne zvysim id o 1 (789 -> 790), bude to fungovat. Diky!
    NYX
    NYX --- ---
    Prispevku
    Kliknutím sem můžete změnit nastavení reklam