Indray takariva mandreraka sady efa tena mankaleo, izaho, miala OFISIALY Fampiharana Habr, nanenjana indray ny rantsantanako aho, iray isaky ny endri-javatra tsy miasa. Eto, ohatra, tsy afaka maneho hevitra, eto ianao dia tsy mahazo ny zo hifidy, ary amin'ny ankapobeny, nahoana no tsy hita eo amin'ny efijery ny formula?
Tapa-kevitra izany: mila zavatra mampiadana, mahafinaritra, zavatra ho an'ny tenanay izahay. Ahoana ny amin'ny fangatahanao manokana ho an'ny Habr?
Avelao aho hanome anao pikantsary vitsivitsy mba hahatakarana ny toe-javatra.
Toa toy izao izany - ny. fampiharana habr.com
Lisitry ny "fahasahiranana"
Tsy azonao atao ny manome naoty publication iray izay tsy mitovy amin'ny 0 ny naoty
Tsy azo atao foana ny manoratra fanehoan-kevitra
Tsy mandeha ny fitsapan-kevitra
Tsy hita amin'ny lohahevitra maizina ny formulas (mainty amin'ny mainty)
Tsy misy ny tsoratadidy rehetra
Eny, tsy nisy fanavaozana ny app nanomboka tamin'ny volana aogositra tamin'ny taon-dasa, fa mbola ratsy ihany. Amin'ny ankapobeny dia mila amboarina izany.
Fizarana voalohany. Mitady fidirana.
Fanontaniana Google haingana "habrahabr API" milaza fa efa tena lany andro repository amin'ny Github, tsy nohavaozina hatramin'izay Novambra 21 2016, ary ity, mandritra ny fotoana fohy, roa taona sy tapany.
Raha tsy miraharaha ny hoe PHP ity dia midina ary vakio:
Mahazo ny ID Application
Manararaotra ny ity endrika ity amin'ny Habrahabr, mila mamaritra fohifohy ny maha-zava-dehibe ny fampiharana vaovao sy ny tanjona ilainy API ianao.
Tsy misy fanontaniana, raha mila mahazo fidirana ianao dia mila izany. Manoratra taratasy izahay (nohafohezina):
Mazava ho azy fa tsy dia nahafinaritra ny valiny, fa farafaharatsiny tamim-pahatsorana:
Indrisy fa tsy misy ny fidirana amin'ny API amin'izao fotoana izao. Mikasa ny hanohy ny fanomezana fidirana izahay rehefa vita ny famitana ny API, saingy tsy mbola manana daty marina izahay, satria Sahirana amin'ny famahana asa laharam-pahamehana hafa izahay amin'izao fotoana izao.
Miorina amin'ny lojika, raha mandeha ny rindranasa, dia manana fidirana amin'ny API izy, ary ampidirina amin'ny fampiharana. Andeha isika handinika.
Satria miatrika fifamoivoizana isika, Wireshark no safidintsika. Tsy misy fanaintainana, rehefa mampifandray ny telefaona amin'ny Internet amin'ny alΓ lan'ny solosaina desktop, dia manokatra ny fampiharana izahay ary mijery ny fangatahana:
Mazava fa tsy misy mazava
Eny, voatahiry ny zava-drehetra, saingy tsy te-hikorontana amin'ny kriptografika aho. Avy eo dia mila mijery ao anatin'ilay fampiharana ianao.
Ity ny kaody ho an'ny milina virtoaly Android (Dalvik VM), tsy dia takatry ny sain'ny olombelona, ββfa mbola manome vaovao. Ireo tsy miova telo ireo, raha tsaraina amin'ny atiny sy ny anarany, ary koa ny fitahirizana GitHub, dia ampiasaina hangataka famantarana fidirana amin'ny fampiasana ny fomba. GET.
Andeha hojerentsika bebe kokoa. Ny rakitra izay mipoitra manaraka amin'ny fikarohana dia NetworkModule.smali:
const-string v0, "https://habr.com/api/v1/"
Ary eto ny toerana halehanao miaraka amin'ny fangatahanao!
Ho an'ny mpanjifa sora-tena mba hiasa araka ny tokony ho izy dia zavatra iray ihany no tokony hodinihina - client_id, izay azo inoana fa famantarana tokana ho an'ny fampiharana.
Na izany aza, ny fikarohana an'ity lahatsoratra ity amin'ny kaody loharano dia tsy nitarika ny fitadiavana fampahalalana mifandraika ...
Saingy tampoka teo tao amin'ny iray amin'ireo rakitra dia nahasarika andalana mahaliana ny masoko:
Ity, araka ny azonao takarina, dia fidirana amin'ny log. Fa nandrakitra inona?
Fizarana fahatelo. Ireo no logs!
Ampiasainay adb logcat hijerena ny diarin'ny fampiharana.
Tsy nampoizina anefa fa vao mainka nisongadina kokoa noho ny nantenaina ny logs.
Tsy izay ilaintsika ihany no ananantsika eto client_idsaingy famantarana mpampiasa / fampiharana, ary Hiditra ΠΈ tenimiafina amin'ny soratra mazava!
Misy teoria tsikombakomba sasanyNy fisian'ny fidirana sy tenimiafina fotsiny ao amin'ny diary dia tsy manimba na inona na inona, satria ireo logs ireo dia tsy azo vakiana miaraka amin'ny zo fototra na fifandraisana amin'ny alΓ lan'ny adb. Saingy noho ny zava-misy fa eo amin'ireo olona mamaky Habr dia misy mpamorona Android izay mety ho afaka ny debugging, dia lasa olana izany.
Amin'ity tranga ity dia mety hiteraka halatra kaonty ny "fanomezana maimaim-poana" any amin'ny seranam-piaramanidina, fa iza no mila izany?
Avy amin'ireto logs ireto isika dia afaka mamoaka:
client_id ΠΈ apikeytakiana hidirana API;
URL fanomezan-dΓ lana ho an'ny mpampiasa (hafahafa, fa tsy misy na inona na inona ao amin'ny tahiry momba an'io fomba io, mety tsy omena izany?)
Izany no nitranga. Mifototra amin'ity fikarohana kely ity, efa mandeha ny asa amin'ny tetikasa kely iray - ny fampiharana ny fampiharana finday. Miangavy ireo izay te hanampy aho mba hanoratra hafatra, sy ny olon-drehetra - hifidy (satria tiako ho takatra raha misy mila an'ity).