(Un) рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Habr рдЕрдиреБрдкреНрд░рдпреЛрдЧ - HabrApp 2.0: рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИ

рдПрдЙрдЯрд╛ рд╕реБрд╕реНрдд рд░ рдкрд╣рд┐рд▓реЗ рдиреИ рдзреЗрд░реИ рдмреЛрд░рд┐рдВрдЧ рд╕рд╛рдБрдЭ, рдо, рдкрд╛рддрд╣рд░реВ рдорд╛рд░реНрдлрдд рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Habr рдПрдкреНрд▓рд┐рдХреЗрд╕рди, рдПрдХ рдкрдЯрдХ рдлреЗрд░рд┐ рдореИрд▓реЗ рдореЗрд░реЛ рдФрдВрд▓рд╛рд╣рд░реВ рдЭреБрдХрд╛рдПрдБ, рдкреНрд░рддреНрдпреЗрдХ рдЧреИрд░-рдХрд╛рдо рдЧрд░реНрдиреЗ рд╕реБрд╡рд┐рдзрд╛рдХреЛ рд▓рд╛рдЧрд┐ред рдпрд╣рд╛рдБ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВ рдЯрд┐рдкреНрдкрдгреА рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрди, рдпрд╣рд╛рдБ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдорддрджрд╛рди рдЧрд░реНрдиреЗ рдЕрдзрд┐рдХрд╛рд░ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд░ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рд╕реВрддреНрд░рд╣рд░реВ рд╕реНрдХреНрд░рд┐рдирдорд╛ рдХрд┐рди рджреЗрдЦрд┐рдБрджреИрдирдиреН?

(Un) рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Habr рдЕрдиреБрдкреНрд░рдпреЛрдЧ - HabrApp 2.0: рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИ
рдпреЛ рдирд┐рд░реНрдгрдп рдЧрд░рд┐рдпреЛ: рд╣рд╛рдореАрд▓рд╛рдИ рдХреЗрд╣рд┐ рд╕рд╣рдЬ, рд╕реБрдЦрдж, рдЖрдлреНрдиреИ рдХреЗрд╣рд┐ рдЪрд╛рд╣рд┐рдиреНрдЫред Habr рдХреЛ рд▓рд╛рдЧреА рддрдкрд╛рдЗрдБрдХреЛ рдЖрдлреНрдиреИ рдЖрд╡реЗрджрди рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдХреЗ рд╣реЛ?
рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рдмреБрдЭреНрди рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреЗрд╣реА рд╕реНрдХреНрд░рд┐рдирд╕рдЯрд╣рд░реВ рджрд┐рдиреНрдЫреБред

(Un) рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Habr рдЕрдиреБрдкреНрд░рдпреЛрдЧ - HabrApp 2.0: рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИрдХреЗрд╣рд┐ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рдпрд╕рд▓рд╛рдИ - рдХреЛред habr.com рдЖрд╡реЗрджрди

"рдЕрд╕реБрд╡рд┐рдзрд╛" рдХреЛ рд╕реВрдЪреА

  • рддрдкрд╛рдИрдВрд▓реЗ реж рднрдиреНрджрд╛ рдлрд░рдХ рднрдПрдХреЛ рдкреНрд░рдХрд╛рд╢рдирд▓рд╛рдИ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрди
  • рдпреЛ рд╕рдзреИрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд▓реЗрдЦреНрди рд╕рдореНрднрд╡ рдЫреИрди
  • рдорддрджрд╛рдирд▓реЗ рдХрд╛рдо рдЧрд░реНрджреИрди
  • рдЧрд╛рдврд╛ рд╡рд┐рд╖рдпрд╡рд╕реНрддреБрдорд╛ рд╕реВрддреНрд░рд╣рд░реВ рджреЗрдЦрд┐рдБрджреИрдирдиреН (рдХрд╛рд▓реЛрдорд╛ рдХрд╛рд▓реЛ)
  • рд╕рдмреИ рдмреБрдХрдорд╛рд░реНрдХрд╣рд░реВ рдЙрдкрд▓рдмреНрдз рдЫреИрдирдиреН

рд╣реЛ, рдПрдк рдЧрдд рд╡рд░реНрд╖ рдЕрдЧрд╕реНрдЯрджреЗрдЦрд┐ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЫреИрди, рддрд░ рдпреЛ рдЕрдЭреИ рдЦрд░рд╛рдм рдЫред рд╕рд╛рдорд╛рдиреНрдп рдорд╛, рдпреЛ рддрдп рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рднрд╛рдЧ рдПрдХред рдкрд╣реБрдБрдЪ рдЦреЛрдЬреНрджреИред

рджреНрд░реБрдд Google рдХреНрд╡реЗрд░реА "habrahabr API" рдпреЛ рдкрд╣рд┐рд▓реЗ рдиреИ рдзреЗрд░реИ рдкреБрд░рд╛рдиреЛ рднрдЗрд╕рдХреЗрдХреЛ рдмрддрд╛рдЙрдБрдЫ рднрдгреНрдбрд╛рд░ Github рдорд╛, рдкрдЫрд┐ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЫреИрди рдиреЛрднреЗрдореНрдмрд░ 21 2016рд░ рдпреЛ, рдПрдХ рдХреНрд╖рдг рдХреЛ рд▓рд╛рдЧреА, рд╕рд╛рдвреЗ рджреБрдИ рд╡рд░реНрд╖.

рдпреЛ PHP рд╣реЛ рднрдиреНрдиреЗ рддрдереНрдпрд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрджреИ, рддрд▓ рд╕реНрдХреНрд░реЛрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдкрдвреНрдиреБрд╣реЛрд╕реН:

рдЖрд╡реЗрджрди рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИ

рдлрд╛рдЗрджрд╛ рдЙрдард╛рдЙрдБрджреИ рдпреЛ рдлрд╛рд░рдо Habrahabr рдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдирдпрд╛рдБ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирдХреЛ рд╕рд╛рд░ рд░ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ API рдЪрд╛рд╣рд┐рдиреЗ рдЙрджреНрджреЗрд╢реНрдпрд▓рд╛рдИ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдкрдорд╛ рд╡рд░реНрдгрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдкреНрд░рд╢реНрди рдЫреИрди, рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдЪрд╛рд╣рд┐рдиреНрдЫред рд╣рд╛рдореА рдПрдЙрдЯрд╛ рдкрддреНрд░ рд▓реЗрдЦреНрдЫреМрдВ (рд╕рдВрдХреНрд╖рд┐рдкреНрдд):

рд▓реЗрдЦрди

PWA рдорд╛ рдЖрдзрд╛рд░рд┐рдд Habr рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдЖрд╡реЗрджрди рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдЗрдЪреНрдЫрд╛ рдЫред рдпрд╕рдХрд╛ рдзреЗрд░реИ рдХрд╛рд░рдг рдЫрдиреНред 

рдкрд╣рд┐рд▓реЛ рд░ рд╕рдмреИрднрдиреНрджрд╛ рд╕реНрдкрд╖реНрдЯ: рдПрдиреНрдбреНрд░реЛрдЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓реЗ рдореЗрд░реЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдкреВрд░рд╛ рдЧрд░реНрджреИрдиред

рджреЛрд╕реНрд░реЛ: рддреНрдпрд╣рд╛рдБ рд╕рдмреИ рдкреНрд░рдХрд╛рд░рдХрд╛ рдЪреАрдЬрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрд░реНрдпрд╛рдкреНрдд рдиреЗрдЯрд┐рдн рд╕реВрдЪрдирд╛рд╣рд░реВ рдЫреИрдирдиреН рдЬреБрди рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдЗрдореЗрд▓ рдорд╛рд░реНрдлрдд рдЖрдЙрдБрдЫрдиреН (рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐)ред

рддреЗрд╕реНрд░реЛ: рдореЗрд░реЛ рд░реБрдЪрд┐рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреЗрд░, рдорд▓рд╛рдИ рд░реБрдЪрд┐ рд░рд╛рдЦреНрдиреЗ рд╡реНрдпрдХреНрддрд┐/рд╣рдмрд╣рд░реВрдорд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд╛рдЪрди (рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдпрдХреЛ рд░реВрдкрдорд╛)ред

рдЬрд╡рд╛рдл, рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдзреЗрд░реИ рд╕реБрдЦрдж рдерд┐рдПрди, рддрд░ рдХрдореНрддрд┐рдорд╛ рдЗрдорд╛рдирджрд╛рд░:

рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рд╣рд╛рдореНрд░реЛ API рдорд╛ рдкрд╣реБрдБрдЪ рд╣рд╛рд▓ рдЙрдкрд▓рдмреНрдз рдЫреИрдиред рд╣рд╛рдореА API рд▓рд╛рдИ рдЕрдиреНрддрд┐рдо рд░реВрдк рджрд┐рдПрдкрдЫрд┐ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдЧрд░реНрди рдкреБрди: рд╕реБрд░реБ рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдЙрдБрдЫреМрдВ, рддрд░ рд╣рд╛рдореАрд╕рдБрдЧ рдЕрдЭреИ рдХреБрдиреИ рдареНрдпрд╛рдХреНрдХреИ рдорд┐рддрд┐рд╣рд░реВ рдЫреИрдирдиреН, рдХрд┐рдирднрдиреЗ рд╣рд╛рдореА рдЕрд╣рд┐рд▓реЗ рдЕрдиреНрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдХрд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╡реНрдпрд╕реНрдд рдЫреМрдВред

"рд╣реБрдиреНрдЫ рдХреЗрд╣рд┐ рд╕рдорд╕реНрдпрд╛ рдЫреИрди! рд╣рд╛рдореА рдХреЗрд╣рд┐ рд▓рд┐рдПрд░ рдЖрдЙрдЫреМрдВ!" - рдореИрд▓реЗ рдЖрдлреИрд▓рд╛рдИ рднрдиреЗ рд░ рд╣реЗрд░реНрди рдерд╛рд▓реЗред

рднрд╛рдЧ рджреБрдИред рдЧрд╣рд┐рд░реЛ рдЙрддреНрдЦрдирдиред

рддрд░реНрдХрдХреЛ рдЖрдзрд╛рд░рдорд╛, рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЫ рднрдиреЗ, рддреНрдпрд╕рдХреЛ API рдорд╛ рдкрд╣реБрдБрдЪ рдЫ, рд░ рдпреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдорд╛ рд╣рд╛рд░реНрдбрд╡рд╛рдЗрд░ рдЧрд░рд┐рдПрдХреЛ рдЫред рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реМрдВред

рд╣рд╛рдореА рдЯреНрд░рд╛рдлрд┐рдХрдХреЛ рд╕рд╛рде рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реНрджреИрдЫреМрдВ, Wireshark рд╣рд╛рдореНрд░реЛ рд░реЛрдЬрд╛рдЗ рд╣реЛред рдХреЗрд╣рд┐ рдкреАрдбрд╛ рдмрд┐рдирд╛ рд╣реЛрдЗрди, рдлреЛрдирд▓рд╛рдИ рдбреЗрд╕реНрдХрдЯрдк рдХрдореНрдкреНрдпреБрдЯрд░ рдорд╛рд░реНрдлрдд рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рдЬрдбрд╛рди рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐, рд╣рд╛рдореА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЦреЛрд▓реНрдЫреМрдВ рд░ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рд╣реЗрд░реНрдЫреМрдВ:

(Un) рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Habr рдЕрдиреБрдкреНрд░рдпреЛрдЧ - HabrApp 2.0: рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИ
рдпреЛ рд╕реНрдкрд╖реНрдЯ рдЫ рдХрд┐ рдХреЗрд╣рд┐ рд╕реНрдкрд╖реНрдЯ рдЫреИрди

рд╣реЛ, рд╕рдмреИ рдХреБрд░рд╛ рдИрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЫ, рддрд░ рдо рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреАрд╕рдБрдЧ рдЧрдбрдмрдб рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдиред рддреНрдпрд╕реЛрднрдП рддрдкрд╛рдИрд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рднрд┐рддреНрд░ рд╣реЗрд░реНрдиреБ рдкрд░реНрдЫред

рд╡рд┐рдШрдЯрд┐рдд .apk, рд╣реЗрд░реНрди рд╕реБрд░реБ рдЧрд░реМрдВред рдХреБрдиреИ рдкрдирд┐ API рд▓рд╛рдИ рдХреЗ рдЪрд╛рд╣рд┐рдиреНрдЫ? рд╕рд╣рд┐, рдЕрдиреНрддрдмрд┐рдиреНрджреБ, рд╕рдмреИ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдЬрд╛рдиреЗ рдард╛рдЙрдБред рдпреЛ рд╕рдореНрднрд╡рддрдГ http(рд╣рд░реВ) рд╣реЛ, "https://" рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ:

рдлрд╛рдЗрд▓рдорд╛ AuthLinkManager.smali рд╣рд╛рдореА рдлреЗрд▓рд╛ рдкрд╛рд░реНрдЫреМрдВ

.field OAUTH:Ljava/lang/String; = "https://habrahabr.ru/auth/o/%s/"
.field OAUTH_PARAMS:Ljava/lang/String; = "?client_id=%s&response_type=token&redirect_uri=%s"
.field OAUTH_REDIRECT_URL:Ljava/lang/String; = "http://cleverpumpkin.ru"

рдпреЛ рдПрдиреНрдбреНрд░реЛрдЗрдб рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирдХреЛ рд▓рд╛рдЧрд┐ рдХреЛрдб рд╣реЛ (Dalvik VM), рдорд╛рдирд┐рд╕рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдмреБрдЭреНрди рдпреЛрдЧреНрдп рдЫреИрди, рддрд░ рдЕрдЭреИ рдкрдирд┐ рдзреЗрд░реИ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдгред рдпреА рддреАрди рд╕реНрдерд┐рд░рд╣рд░реВ, рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕рд╛рдордЧреНрд░реА рд░ рдирд╛рдо, рд╕рд╛рдереИ GitHub рднрдгреНрдбрд╛рд░, рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкрд╣реБрдБрдЪ рдЯреЛрдХрди рдЕрдиреБрд░реЛрдз рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред GET.

рдердк рд╣реЗрд░реМрдВред рдЦреЛрдЬреАрдорд╛ рдЕрд░реНрдХреЛ рдлрд╛рдЗрд▓ рдЖрдЙрдБрдЫ NetworkModule.smali:

const-string v0, "https://habr.com/api/v1/"

рд░ рдпрд╣рд╛рдБ рддрдкрд╛рдЗрдБрдХреЛ рдЕрдиреБрд░реЛрдз рд╕рдВрдЧ рдЬрд╛рдиреЗ рдард╛рдЙрдБ рдЫ!

рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рдХреНрд▓рд╛рдЗрдиреНрдЯрдХреЛ рд▓рд╛рдЧрд┐ рдареАрдХрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддреНрдпрд╣рд╛рдБ рдПрдХ рдорд╛рддреНрд░ рдХреБрд░рд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдмрд╛рдБрдХреА рдЫ - client_id, рдЬреБрди рд╕рдореНрднрд╡рддрдГ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рд┐рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реЛред

рдпрджреНрдпрдкрд┐, рд╕реНрд░реЛрдд рдХреЛрдбрдорд╛ рдпреЛ рдкрд╛рда рдЦреЛрдЬреНрджрд╛ рд╕рд╛рдиреНрджрд░реНрднрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдПрди...

рддрд░ рдЕрдЪрд╛рдирдХ рдПрдЙрдЯрд╛ рдлрд╛рдЗрд▓рдорд╛ рдореЗрд░реЛ рдЖрдБрдЦрд╛рд▓реЗ рдХреЗрд╣реА рд░реЛрдЪрдХ рд░реЗрдЦрд╛рд╣рд░реВ рд╕рдорд╛рддреНрдпреЛ:

const-string p8, "log-tag"
invoke-static {p8, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

рдпреЛ, рддрдкрд╛рдИрд▓реЗ рдмреБрдЭреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд▓рдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реЛред рддрд░ рдХреЗ рд░реЗрдХрд░реНрдбрд┐рдЩ?

рднрд╛рдЧ рддреАрдиред рдпреА рд▓рдЧрд╣рд░реВ рд╣реБрдиреН!

рд╣рд╛рдореА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМ adb logcat рдЖрд╡реЗрджрди рд▓рдЧрд╣рд░реВ рд╣реЗрд░реНрдиред

(Un) рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Habr рдЕрдиреБрдкреНрд░рдпреЛрдЧ - HabrApp 2.0: рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИ

рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдкрдорд╛, рд▓рдЧрд╣рд░реВ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░рд┐рдПрдХреЛ рднрдиреНрджрд╛ рдмрдвреА рд╡рд┐рд╕реНрддреГрдд рднрдпреЛред

рдпрд╣рд╛рдБ рд╣рд╛рдореАрд▓рд╛рдИ рдЪрд╛рд╣рд┐рдиреЗ рдХреБрд░рд╛ рдорд╛рддреНрд░реИ рдЫреИрди client_idрддрд░ редред рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛/рдЕрдиреБрдкреНрд░рдпреЛрдЧ, рд░ рд▓рдЧрдЗрди ╨╕ рдкрд╛рд╕рд╡рд░реНрдб рд╕рд╛рджрд╛ рдкрд╛рдардорд╛!

рдХреЗрд╣реА рд╖рдбреНрдпрдиреНрддреНрд░ рд╕рд┐рджреНрдзрд╛рдиреНрддрд╣рд░реВрд▓рдЧрдЗрди рд░ рдкрд╛рд╕рд╡рд░реНрдбрдХреЛ рдорд╛рддреНрд░ рдЙрдкрд╕реНрдерд┐рддрд┐рд▓реЗ рдХреБрдиреИ рдкрдирд┐ рдХреБрд░рд╛рд▓рд╛рдИ рд╣рд╛рдирд┐ рдЧрд░реНрджреИрди, рдХрд┐рдирдХрд┐ рдпреА рд▓рдЧрд╣рд░реВ рдХреЗрд╡рд▓ рд░реВрдЯ рдЕрдзрд┐рдХрд╛рд░ рд╡рд╛ рдЬрдбрд╛рди рдорд╛рд░реНрдлрдд рдкрдвреНрди рд╕рдХрд┐рдиреНрдЫред adbред рддрд░ Habr рдкрдвреНрдиреЗ рдорд╛рдирд┐рд╕рд╣рд░реВ рдмреАрдЪрдорд╛ рдПрдиреНрдбреНрд░реЛрдЗрдб рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдЫрдиреН рдЬрд╕рд▓реЗ рдбрд┐рдмрдЧрд┐рдЩ рд╕рдХреНрд╖рдо рдЧрд░реЗрдХреЛ рд╣реБрди рд╕рдХреНрдЫ рднрдиреНрдиреЗ рддрдереНрдпрдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛, рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╣реБрдиреНрдЫред

рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдПрдпрд░рдкреЛрд░реНрдЯрдорд╛ "рдирд┐рдГрд╢реБрд▓реНрдХ рдЪрд╛рд░реНрдЬрд┐рдЩ" рд▓реЗ рдЦрд╛рддрд╛ рдЪреЛрд░реА рд╣реБрди рд╕рдХреНрдЫ, рддрд░ рдХрд╕рд▓рд╛рдИ рдЪрд╛рд╣рд┐рдиреНрдЫ?
рдпреА рд▓рдЧрд╣рд░реВрдмрд╛рдЯ рд╣рд╛рдореА рдирд┐рдХрд╛рд▓реНрди рд╕рдХреНрдЫреМрдВ:

  • client_id ╨╕ apikeyрдкрд╣реБрдБрдЪ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ API;
  • рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг URL (рдЕрдиреМрдареЛ, рддрд░ рдпрд╕ рд╡рд┐рдзрд┐рдХреЛ рдмрд╛рд░реЗрдорд╛ рднрдгреНрдбрд╛рд░рдорд╛ рдХреЗрд╣рд┐ рдЫреИрди, рд╕рд╛рдпрдж рдпреЛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫреИрди?)

рдпрд╕реНрддреИ рднрдпреЛ ред рдпрд╕ рд╕рд╛рдиреЛ рдЕрдиреБрд╕рдиреНрдзрд╛рдирдХреЛ рдЖрдзрд╛рд░рдорд╛, рдХрд╛рдо рдкрд╣рд┐рд▓реЗ рдиреИ рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЫ - рд╣рд╛рдореНрд░реЛ рдЖрдлреНрдиреИ рдореЛрдмрд╛рдЗрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред рдо рд╕рдиреНрджреЗрд╢ рд▓реЗрдЦреНрди рдорджреНрджрдд рдЧрд░реНрди рдЪрд╛рд╣рдиреЗрд╣рд░реВрд▓рд╛рдИ, рд░ рдЕрд░реВ рд╕рдмреИрд▓рд╛рдИ - рднреЛрдЯ рдЧрд░реНрди рдЕрдиреБрд░реЛрдз рдЧрд░реНрджрдЫреБ (рдХрд┐рдирдХрд┐ рдо рдХрд╕реИрд▓рд╛рдИ рдпреЛ рдЖрд╡рд╢реНрдпрдХ рдЫ рдХрд┐ рдЫреИрди рднрдиреЗрд░ рдмреБрдЭреНрди рдЪрд╛рд╣рдиреНрдЫреБ)ред

рддрдкрд╛рдИрдВрдХреЛ рдзреНрдпрд╛рдирдХреЛ рд▓рд╛рдЧрд┐ рдзрдиреНрдпрдмрд╛рдж!

рджрд░реНрддрд╛ рднрдПрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорд╛рддреНрд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрдорд╛ рднрд╛рдЧ рд▓рд┐рди рд╕рдХреНрдЫрдиреНред рд╕рд╛рдЗрди рдЗрди рдЧрд░реНрдиреБрд╣реЛрд╕реНрдХреГрдкрдпрд╛

рдХреЗ рддрдкрд╛рдЗрдБ Habr рдореЛрдмрд╛рдЗрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ?

  • рд╣реЛ, рдо рдпрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБ, рдо рдпрд╕рдорд╛ рдЦреБрд╕реА рдЫреБ

  • рд╣реЛ, рдо рдпрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБ, рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓реЗ рдЕрд╕реБрд╡рд┐рдзрд╛ рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫ

  • рд╣реЛрдЗрди, рдо рдореЗрд░реЛ рдлреЛрдирдорд╛ рд╡реЗрдм рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБ

  • рд╣реЛрдЗрди, рдо рдореЗрд░реЛ рдХрдореНрдкреНрдпреБрдЯрд░рдмрд╛рдЯ Habr рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБ

357 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорддрджрд╛рди рдЧрд░реЗред 30 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░реЛрдХрд┐рдПред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди