Twitter рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдпрд╛ STTwitter рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рджрд┐рди рдХреИрд╕реЗ рдорд╛рд░рдирд╛ рд╣реИ

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛



рдПрдХ рджрд┐рди рдХреЛ рдорд╛рд░рдирд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рдмрд╕реЗ рддреЗрдЬ рдЯреНрд╡рд┐рдЯрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛, рд╡рд╣реА facebookред

рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо:



рдЪрд╣рдЪрд╣рд╛рдирд╛

рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ -> рдореИрдВ рдЗрд╕ рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рд╣рдо рд▓реЙрдЧрд┐рди рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ -> рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХреЙрд▓рдмреИрдХ_url рджреНрд╡рд╛рд░рд╛ рдПрдХ рдирдпрд╛ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ -> рдПрдХ рдЧреБрдкреНрдд рдЯреЛрдХрди рдХреЗ рд▓рд┐рдП рдЯреЛрдХрди рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред



рдлреЗрд╕рдмреБрдХ

рд╣рдо calback_url рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде facebook рд▓реЙрдЧрд┐рди рдкреЗрдЬ рдЦреЛрд▓рддреЗ рд╣реИрдВ -> рд╣рдо рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХреЙрд▓рдмреИрдХ рдкрд░ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЧреБрдкреНрдд рдЯреЛрдХрди рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



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



рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯреНрд╡рд┐рдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдХрд╣рд╛ рдерд╛ - рдЯреНрд╡рд┐рдЯрд░ рдХреЗ рдкрд╛рд╕ oAuth1 / 2 рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреЗрд╡рд▓ рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдиреБрдХрд╕рд╛рди рд╣реИ



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



рдЪрд░рдг 1 2 рдХреЗ рд╕рд╛рде



рдкрд╣рд▓рд╛ рдХрджрдо рдкрд╣рд▓рд╛ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред рдареАрдХ рд╣реИ, рдареАрдХ рд╣реИ, рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреЛрдИ рдмрд╣рд╕ рдирд╣реАрдВред рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ, рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛ (рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА) рдФрд░ рдЪреЗрдХрд╕рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рдЪрд▓рдирд╛: рдкреНрд░рд╛рдкреНрдд рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдореЗрдВ рдПрдХ рд▓рд┐рдВрдХ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рднреЗрдЬрддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЦреЛрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ (рдЙрд╕реЗ рдЖрд╡реЗрджрди рдХреЛ рдЫреЛрдбрд╝рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП), рдХреЛрдИ рдЗрд╕реЗ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рд╕рдлрд╛рд░реА рдЦреЛрд▓реЗрдВ, рдФрд░ рдлрд┐рд░ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ_рдпреВрд░рд▓ рдФрд░ рдХрд╕реНрдЯрдо рдпреВрдЖрд░рдПрд▓ рдпреЛрдЬрдирд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, myappscheme: // paradesult) рдЖрд╡реЗрджрди рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ рдЯреНрд╡рд┐рдЯрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЗрд╖рд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ zaparspit рдХрд░реЗрдВред рдФрд░ рдЕрдм рд╡рд╣ рдкрд╣рд▓рд╛ рдиреБрдХрд╕рд╛рди рд╣реИ - рдЯреНрд╡рд┐рдЯрд░ рдХрд╕реНрдЯрдо рдпреВрдЖрд░рдПрд▓ рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдХреАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рд▓реМрдЯрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдХреИрд╕реЗ рд╣реЛ? рдЖрдкрдХреЛ рдПрдХ рдХрд╕реНрдЯрдо UIWebView рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ webView рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдардВрдбрд╛ рдкрдХрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП: shouldStartLoadWithRequest: рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдФрд░ рд╣рдорд╛рд░реЗ UIWebView рдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рд▓рд┐рдВрдХ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред рдЕрдм рдпрд╣ рдХреЙрд▓рдмреИрдХ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЛрдореЗрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ (рдЬреЛ рд╡реИрд╕реЗ рднреА рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛, рдмрд╕ рдЕрдЧрд░ рдЖрд╡реЗрджрди рдореЗрдВ рд╕рд╛рдЗрдЯ рд╣реИ) рдЬреИрд╕реЗ getmetothewounderlandandfeedmewitharainbownpinkunicorn.com

рдЬреИрд╕реЗ рд╣реА рд╡рд┐рдзрд┐ рдпрд╣ рджреЗрдЦрддреА рд╣реИ рдХрд┐ рд╡реЗрдм рджреГрд╢реНрдп рдХреЛ рдЗрд╕ рдбреЛрдореЗрди рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрдЬреНрдЮрд╛ рдорд┐рд▓реА рд╣реИ, рд╣рдо рдЗрд╕рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЯреЛрдХрди рдХреЗ рд▓рд┐рдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдПрд╕рдЯреАрдЯреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рддрд░реНрдХ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЬреЛрд░ рдирд╣реАрдВ рджреВрдВрдЧрд╛ рдХрд┐ рдореИрдВ рдХрд╣рд╛рдВ рд╕реЗ рдЖрдКрдВрдЧрд╛, рдЬрд┐рддрдирд╛ рдореИрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд▓рд┐рдЦреВрдВрдЧрд╛ред

STTwitter рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде, рдпрд╣ рдмрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:



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



// api  oauth -     twitterEngine -(STTwitterOAuth *)oauth { if (!_oauth) { _oauth = [STTwitterOAuth twitterOAuthWithConsumerName:@"APP_NAME" consumerKey:TWI_API_KEY consumerSecret:TWI_API_SECREET]; } return _oauth; } -(STTwitterAPI *)api { if (!_api) { if ([twitterEngine isAuthorized]) { NSLog(@"Full access account"); _api = [STTwitterAPI twitterAPIWithOAuthConsumerKey:TWI_API_KEY consumerSecret:TWI_API_SECREET oauthToken:[[NSUserDefaults standardUserDefaults] valueForKey:TWI_STORE_AUTH_TOKEN] oauthTokenSecret:[[NSUserDefaults standardUserDefaults] valueForKey:TWI_STORE_AUTH_SECRET]]; } else { NSLog(@"App only client"); _api = [STTwitterAPI twitterAPIAppOnlyWithConsumerName:IN_APP_NAME consumerKey:TWI_API_KEY consumerSecret:TWI_API_SECREET]; } } return _api; }
      
      







рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдПрдХ рд╕рд╛:



 - (IBAction)loinTwitterButtonClicked:(id)sender { twitter = [twitterEngine new]; // twitterEngine          twitter if ([twitterEngine isAuthorized]) { // handling authorized } else { twitter.delegate = self; [twitter sendRequestToken]; } }
      
      







рд╡рд░реНрдЧ:



 -(void)sendRequestToken { [self.oauth postTokenRequest:^(NSURL *url, NSString *oauthToken) { [self.delegate openWebViewWithUrl:url]; //     url    UIWebVew } oauthCallback:@"http://getmetothewounderlandandfeedmewitharainbownearpinkunicorns.com" errorBlock:^(NSError *error) { // handling error }]; }
      
      







рдФрд░ рдлрд┐рд░ рдирд┐рдпрдВрддреНрд░рдХ (рдпрд╣рд╛рдВ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд┐рдзрд┐, рдФрд░ UIWebView рд╕реЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдЬреЛ рд▓реЛрдб рдХрд┐рдП рдЧрдП URL рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ



 -(void) openWebViewWithUrl:(NSURL *)url { //              // UIWebView *browser = [[UIWebView alloc] initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, self.view.frame.size.height - 20)]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [browser loadRequest:request]; [browser setDelegate:self]; [self.view addSubview:browser]; } -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { NSURL *url = [request URL]; NSLog(@"Loading URL: %@", [url absoluteString]); if ([[url host] isEqualToString:@"getmetothewounderlandandfeedmewitharainbownearpinkunicorns.com"]) { [webView removeFromSuperview]; //      NSDictionary *params = [twitterEngine parseURLToParams:url]; [twitter sendAccessToken:[params objectForKey:@"oauth_verifier"]]; //        3     . return NO; //   NO        ,     . } return YES; }
      
      







рдЪрд░рдг 3



рдФрд░ рдЖрдЦрд┐рд░реА рдЕрднрд┐рдпрд╛рдиред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрд╕рдЯреАрдЯреА рдкреБрд╕реНрддрдХрд╛рд▓рдп (рдЕрдВрддрд┐рдо рдЪрд░рдг) рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдХреА рд╣рддреНрдпрд╛ рдХреА рдФрд░ рд╕рдорд╛рдзрд╛рди рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдХрд▓рд╛ред рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛, рдореИрдВрдиреЗ рдореБрдЦреНрдп рдЪреАрдЬ рд╕реЗ рдкрд░рд╣реЗрдЬ рдХрд┐рдпрд╛, рдЪреЗрдХрд╕рдо рдХреЗ рд╕рд╛рде рдЙрдкрджреНрд░рд╡ рдХрд┐рдпрд╛ рдФрд░ рд╣реЗрдбрд░ рд╕реЗ рд╕рдм рдХреБрдЫ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ред рдореИрдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЯреНрд╡рд┐рдЯрд░ рд╕реЗ oAuth1 рдХреА рд╕реБрд╕реНрддрддрд╛ рдХреЗ рдХрд╛рд░рдг, oauth_verifier рдЯреЛрдХрди рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рд╣реЗрдбрд░ (!!!) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдирд╛рдорд╛рдВрдХрд┐рдд рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рд╢рд░реАрд░ рд╕реНрд╡рдпрдВ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдПрд╕рдЯреАрдЯреА рдиреЗ рдкрд╣рд┐рдП рдореЗрдВ рдПрдХ рдЫрдбрд╝реА рдЪрд┐рдкрдХрд╛ рджреАред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдПрд╕рдЯреАрдЯреА рдХреЗ рдкрд╛рд╕ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдпреЛрдЬрдирд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдзрд╛ рдЙрдкрдХрд░рдг рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЪреБрдирд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдЗрд╕рдореЗрдВ oauth_token_secret рдХреЗ рд▓рд┐рдП oauth_verifier рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдХреЛрдИ рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдЬрд╛рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рд╕реБрдкрд░рдХреНрд▓рд╛рд╕ рдХреЗ рдмрд╣реБрдд рдЧрд╣рд░реЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬреЛ рдХрд┐ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рднреЗрдЬрдиреЗ рдХреА рд▓рдЧрднрдЧ рдПрдХ рд╕рд░рд▓ рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдзрд┐ рдереАред рдереЛрдбрд╝рд╛ рдкреАрдЫреЗ рд╣рдЯрддреЗ рд╣реБрдП - рдореИрдВ http рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЬрд╛рдирддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рдореЗрдВ рд╕реЙрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ рддрд╛рдХрд┐ рдореИрдВ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рдХрд╛рдо рд╕реЗ рдирдлрд░рдд рдХрд░реВрдВред рдпрджрд┐ рдЖрдк рдордзреНрдп рд╕реНрддрд░ рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ (рдпреВрдЖрдИ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдирд╣реАрдВ) рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдореЗрд░реЗ рдХрд░реАрдм рд╣реИред рд▓реЗрдХрд┐рди рдкреАрдЫреЗ рдореБрдбрд╝рдХрд░ рдирд╣реАрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдореИрдВ рдЕрдкрдиреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реАрдХреЗ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдерд╛, рдЬреЛ рдЯреЛрдХрди рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рднрдЧрд╡рд╛рди рдХрд┐рд╕реА рдФрд░ рдХреЗ рдХреЛрдб рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдГрд╕реНрд╡рдкреНрди рд╣реИ, рдЕрдЧрд░ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдерд╛ рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рд▓рд┐рдЦрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдХрд╣реАрдВ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдерд╛ ... рдПрдХ рджреЛрд╕реНрдд рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдПрдХ рдкрд░рд┐рдЪрд┐рдд рд╕рдордп рдЪрд░ @ "oauth_verifier" рджреЗрдЦрд╛ рдФрд░ рддреБрд░рдВрдд рдЙрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдЬрд╣рд╛рдВ рдпрд╣ рджреЗрдЦрд╛ рдЧрдпрд╛ рдерд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореБрдЭреЗ рдЕрднреА рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрдорд╛рди рдХреНрдпреЛрдВ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ред рдореИрдВ рдХреБрдЫ рдШрдВрдЯреЗ рдмрдЪрд╛ рд▓реЗрддрд╛ред

рдХреНрдпрд╛ рдирд┐рдХрд▓рд╛: рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдПрдХ рдкрд┐рди рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╣реИред рдпрд╣ рдпреЛрдЬрдирд╛ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЙрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рдЕрдВрджрд░ рдореИрдВ рдХреЙрд▓рдмреИрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЗ рд▓рд┐рдП рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдпреЛрдЬрдирд╛ рдореЗрдВ рдкрд┐рди рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╣реИ (рдареАрдХ рд╣реИ, рдЗрд╕реЗ рдзрд┐рдХреНрдХрд╛рд░ рд╣реИ, рд╕рд╛рдЗрдЯ рд╕реЗ 8 рдЕрдВрдХ рдпрд╛рдж рд░рдЦреЗрдВ рдФрд░ рдЖрд╡реЗрджрди рдореЗрдВ рджрд░реНрдЬ рдХрд░реЗрдВ?) рд╡рд┐рдирд┐рдордп рдХреЗ рд▓рд┐рдП рдЯреЛрдХрдиред рдФрд░ рдЪреВрдВрдХрд┐ рдореИрдВрдиреЗ рдХрднреА рднреА рдкрд┐рди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдпреЛрдЬрдирд╛ рдХрд╛ рдЕрдзреНрдпрдпрди рдирд╣реАрдВ рдХрд┐рдпрд╛ (рдФрд░ рдлрд┐рд░ рднреА рдпрд╣ рджреЛ рдкреИрд░рд╛рдЧреНрд░рд╛рдлреЛрдВ рдореЗрдВ рдЯреНрд╡рд┐рдЯрд░ рдЬреНрдЮрд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ), рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рддрдВрддреНрд░ рдерд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВрдиреЗ рдЕрдкрдиреА рдкрджреНрдзрддрд┐ рдХреЛ рдЗрд╕реА рддрд░рд╣ рдмреБрд▓рд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛



PostAccessTokenRequestWithPIN: successBlock: errorBlock:



рдпрд╣ рдПрд╕рдЯреАрдЯреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдмрд╣реБрдд рд╣реА рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдПред рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдФрд░ рд╣рдореЗрдВ twitterEngine рд╡рд░реНрдЧ рдХреА рдЕрдВрддрд┐рдо рд╡рд┐рдзрд┐ рдорд┐рд▓рддреА рд╣реИ рдЬреЛ рдЧреБрдкреНрдд рдЯреЛрдХрди рдХреЗ рд▓рд┐рдП рдЯреЛрдХрди рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрд╛рдж рдореЗрдВ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЬреЗрдм рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ:



 -(void)sendAccessToken:(NSString *)oauth_verifier { [self.oauth postAccessTokenRequestWithPIN:oauth_verifier successBlock:^(NSString *oauthToken, NSString *oauthTokenSecret, NSString *userID, NSString *screenName) { [[NSUserDefaults standardUserDefaults] setObject:oauthToken forKey:TWI_STORE_AUTH_TOKEN]; [[NSUserDefaults standardUserDefaults] setObject:oauthTokenSecret forKey:TWI_STORE_AUTH_SECRET]; [[NSUserDefaults standardUserDefaults] synchronize]; } errorBlock:^(NSError *error) { // handling error }];
      
      







рдирд┐рд╖реНрдХрд░реНрд╖



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



All Articles