рдореБрдЭреЗ
рдСрдЯреЛрдореЗрдЯрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреЛрд╕реНрдЯ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рд╕реЗрд╡рд╛ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛
, рдЬреЛ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╣рдмрд╕реНрдЯреНрд░реЙрдЬ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИ , рдпрд╛ рдмрд▓реНрдХрд┐,
рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддрд╛ рд╣реИред
рддреЛ рдРрд╕реА рд╕реЗрд╡рд╛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдХреНрдпрд╛ рдХрдард┐рдирд╛рдИ рд╣реИ? рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП OAuth рдЯреЛрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрд░реНрдерд╛рддред рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдФрд░ рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдмрдЪрд╛рдПрдВ)ред рдмреЗрд╢рдХ, рдЖрдк рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ OAuth рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░рд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
рдпрд╛рдж рдХрд░реЗрдВ рдХрд┐
Yandex.Photos рдкрд░ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ OAuth рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ:
3. OAuth рд╕рд░реНрд╡рд░ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЯреЛрдХрди рдпрд╛ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдХреЛрдб рдЬреЛрдбрд╝рдХрд░ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдпреВрдЖрд░рдЖрдИ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдмрд╛рдж рдореЗрдВ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддрд╛ рд╣реИред
рдмрд╕ рд╣рдореЗрдВ рдЬреЛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдкреНрд░рд╢реНрди рд╢реЗрд╖ рд╣реИ: рд╣рдореЗрдВ рдпрд╣ рдЯреЛрдХрди рдХреИрд╕реЗ рдорд┐рд▓реЗрдЧрд╛? рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рд╣рдореЗрдВ рдРрд╕реА
рдХреЙрд▓рдмреИрдХ URL рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЦреЛрд▓рдиреЗ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд░реЗрдЧреА, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдФрд░ рдмрдЪрд╛рдПрдЧрд╛ред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ URL рд╣реИрдВрдбрд▓рд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП OS X рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпрд╣ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рдкрддреНрд░ рдХреЗ URL рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рд╣реИ
ypu-oauth://...
, рдФрд░ рдХрд┐рд╕реА рднреА рд╕рдордп рдЖрдк рдРрд╕реЗ URL рдХреЛ "рдУрдкрди" рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдореВрд▓ URL рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рддреЛ рдЪрд▓рд┐рдП рдЪрд▓рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдмрдирд╛рдПрдБред рдирд╣реАрдВ, рдирд╣реАрдВ, рдПрдХреНрд╕рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджреА рдордд рдХрд░реЛ, рд╣рдореЗрдВ рдЗрд╕рдХреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рд╣рдо рд╢реБрджреНрдз AppleScript рдореЗрдВ рдЖрд╡реЗрджрди рд▓рд┐рдЦреЗрдВрдЧреЗред
AppleScript рдПрдбрд┐рдЯрд░ рдЦреЛрд▓реЗрдВ, рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ
рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред

рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ:
on open location theUrl # theUrl тАФ "" URL # : ypu-oauth://do#access_token=...&token_type=bearer&state=&expires_in=31536000 # access_token theUrl # access_token # . # end open location
рдЕрдм рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рдХрд░ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреА
Info.plist
рдХреЛ
Info.plist
рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╕рд╣реЗрдЬреЗ рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ,
рдкреИрдХреЗрдЬ рд╕рд╛рдордЧреНрд░реА рджрд┐рдЦрд╛рдПрдБ рдФрд░
Contents
рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдЬрд╛рдПрдВред рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╕рд╛рде
Info.plist
рдлрд╝рд╛рдЗрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ:
<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLName</key> <string>YPU OAuth Authorizer</string> <key>CFBundleURLSchemes</key> <array> <string>ypu-oauth</string> </array> </dict> </array>
рдкрд░рд┐рдгрд╛рдореА рд╕рд╛рдордЧреНрд░реА рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдиреА рдЪрд╛рд╣рд┐рдП:

рд╕рдВрд╢реЛрдзрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦреЗрдВ!
рдЕрдВрддрд┐рдо рдЪрд░рдгред рд╣рдо рдЕрдкрдиреЗ
OAuth рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реЗрдЯрд┐рдВрдЧ
рдХреЛ Yandex.Photos рдкрд░ рдмрджрд▓рддреЗ рд╣реИрдВ :

рд╕реЗрд╡рд╛ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдФрд░ рдКрдкрд░
рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреЗрд╡рд▓ рдореЗрд░реЗ рдкрд╛рдВрдЪ рд╕реЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВред рд╕реЗрд╡рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрдпрдирд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдлрд╛рдЗрдВрдбрд░ рд╕реЗ рдЗрд╕ рд╕реВрдЪреА рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рд░реЗрдбреА-рдореЗрдб рд╕реЗрд╡рд╛, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЖрд╡реЗрджрди рдФрд░ рдЙрдирдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЛ
рдпрд╣рд╛рдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред 10.7 рдФрд░ 10.9 рдХреЛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ 10.8 рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдорд╛рдирдХ рд▓рд╛рдЗрд╕реЗрдВрд╕ -
рдбрдмреНрд▓реНрдпреВрдЯреАрдПрдлрдкреАрдПрд▓ ред