Goo.gl рдХреНрд▓рд╛рдЗрдВрдЯ рдХреНрд▓рд╛рд╕ рдФрд░ API рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди

UPD: рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЕрдм рдЧрд┐рддреБрдм рдкрд░ рд╣реИред

рдирдорд╕реНрдХрд╛рд░ рд╕рд╛рдерд┐рдпреЛрдВ!

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

рд╕рдордп рдХреЗ рд╕рд╛рде, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдЧрдП, рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░, рдореИрдВрдиреЗ рдХреЛрдб рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝рдиреЗ, рд╕рд░рд▓ рдкреНрд░рд▓реЗрдЦрди рд▓рд┐рдЦрдиреЗ рдФрд░ Google рдХреЛрдб рдореЗрдВ рд╕рдм рдХреБрдЫ рдбрд╛рд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдФрд░ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рдпреЛрдВ рд╕реЗ рд╡рд░реНрдЧ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:

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

рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреА рд╣реЛрдЧреАред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдк рдПрдХ рдХреБрдВрдЬреА рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рддрдм рдЖрдкрдХреА рд╕реАрдорд╛рдПрдВ рдмрд╣реБрдд рдЫреЛрдЯреА рд╣реИрдВред рд╣рдо рдПрдкреАрдЖрдИ рдХрдВрд╕реЛрд▓ рдкреЗрдЬ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, "рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬреЛрдбрд╝реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЙрдкрд▓рдмреНрдз рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ URL рд╢реЙрд░реНрдЯрдирд░ рдПрдкреАрдЖрдИ (рд╕реВрдЪреА рдореЗрдВ рдЕрдВрддрд┐рдо) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред



рдЯреИрдм рдкрд░ "рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛрдо" рдЙрдк-рдЖрдЗрдЯрдо "рдПрдкреАрдЖрдИ рдПрдХреНрд╕реЗрд╕" рдореЗрдВ рдЖрдкрдХреА рдХреБрдВрдЬреА рд▓рд┐рдЦреА рдЬрд╛рдПрдЧреА:



рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдФрд░ рдХреНрд╡реЗрд░реА рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдЫреЛрдбрд╝реЗрдВ, рдЪрд▓рд┐рдП рдХрдХреНрд╖рд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:

import googl client = googl.Googl("MyAPIAccessKey") result = client.shorten("http://code.google.com/p/python-googl-client/") print result >>> {u'kind': u'urlshortener#url', u'id': u'http://goo.gl/67TaW', u'longUrl': u'http://code.google.com/p/python-googl-client/'} print client.expand(result["id"]) >>> {u'status': u'OK', u'kind': u'urlshortener#url', u'id': u'http://goo.gl/67TaW', u'longUrl': u'http://code.google.com/p/python-googl-client/'} 

рд╣рдордиреЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХреАрдВ: рдПрдХ рд▓рдВрдмреА рдХрдбрд╝реА рд╕реЗ рд╣рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рдорд┐рд▓рд╛ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд: рд╣рдордиреЗ рдореВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓реАред

рдХреНрд▓рд┐рдХ рдФрд░ рд╕рдордпрд╛рд╡рдзрд┐ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╡рд┐рд╕реНрддрд╛рд░ () рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░реЛрдЬреЗрдХреНрд╢рди рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдорд╛рди PROJ_ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рд░рд╛рдВрдХ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
 info = client.expand('http://goo.gl/67TaW', projection=googl.PROJ_FULL) 

рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд▓реМрдЯреЗрдЧрд╛:
 { u'status': u'OK', u'kind': u'urlshortener#url', u'created': u'2011-05-19T05:47:13.058+00:00', u'analytics': { u'week': { u'shortUrlClicks': u'0', u'longUrlClicks': u'1' }, u'allTime': { u'shortUrlClicks': u'0', u'longUrlClicks': u'1' }, u'twoHours': { u'shortUrlClicks': u'0', u'longUrlClicks': u'1' }, u'day': { u'shortUrlClicks': u'0', u'longUrlClicks': u'1' }, u'month': { u'shortUrlClicks': u'0', u'longUrlClicks': u'1' } }, u'longUrl': u'http://code.google.com/p/python-googl-client/', u'id': u'http://goo.gl/67TaW' } 

рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЕрд░реНрде рдореВрд▓реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред

рдЕрдм рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред Google рдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдиреБрд░реЛрдз рдкреБрдкрдХрд┐рди рджреНрд╡рд╛рд░рд╛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕реБрдордХрд┐рди рдиреЗ рдирд╣реАрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЖрдВрдХрдбрд╝реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рджреЗрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдпрд╣ рдХрд╛рдлреА рд╣рдж рддрдХ рд╕реАрдорд╛ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдкреНрд░рд╛рдзрд┐рдХрд░рдг рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: OAuth рдФрд░ ClientLogin ред рдЕрдм рддрдХ, рдореИрдВрдиреЗ рджреВрд╕рд░реА рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдХреА рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╕рд░рд▓ рд╣реИ (рдореИрдВ OAuth рдХреЛ рдмрд╛рдж рдореЗрдВ рдЙрдкрд╡рд╛рд╕ рдХрд░реВрдВрдЧрд╛)ред рдПрдХ рдЯреЛрдХрди рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ gdata-python-client рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ get_client_login () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рдЕрдкрдиреЗ рдЦрд╛рддреЗ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдкрд╛рд╕ рдХрд░реЗрдВред рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдЯреЛрдХрди рдХреЛ рд╡рд░реНрдЧ рдЖрд░рдВрднреАрдХрд░рдг рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдЕрдзрд┐рдХреГрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛:

 import googl client_login = googl.get_client_login("login", "pass") client = googl.Googl("MyAPIAccessKey", client_login=client_login) 

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

рдпрджрд┐ рдЖрдк рдмреИрдЪреЛрдВ рдореЗрдВ рд▓рд┐рдВрдХ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ "рджрд░ рд╕реАрдорд╛" рдЕрдкрд╡рд╛рдж рдХреЛ рдкрдХрдбрд╝ рд▓реЗрдВред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ 1.0 рдЕрдиреБрд░реЛрдз / рд╕реЗрдХрдВрдб / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реАрдорд╛ рд╣реЛрддреА рд╣реИ:



1000 рдорд╛рдиреЛрдВ рдХреЛ рдЗрд╕ рдорд╛рди рдХреЛ рдПрдХ рд╕реНрд╡реАрдХрд╛рд░реНрдп, рдмрдврд╝рд╛рдПрдБред

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



рдпрджрд┐ рдЖрдкрдиреЗ "рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕" рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╡рд╣ рдПрдбреНрд░реЗрд╕ рдорд╛рд╕реНрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдЬрд┐рд╕рд╕реЗ рдЕрдиреБрд░реЛрдз "" .example.com / * рдХреЗ рд▓рд┐рдП рдЖрдПрдЧрд╛ред рдХрдХреНрд╖рд╛ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЙрд╕ рд╕рдВрджрд░реНрдн рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЗрд╕ рдорд╛рд╕реНрдХ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ:

 import googl client = googl.Googl("MyAPIAccessKey", referer="http://www.example.com") 

рдЖрдИрдкреА тАЛтАЛрдкреНрд░рддрд┐рдмрдВрдз рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдк IP рдкрддреЗ рдХрд╛ рдореБрдЦреМрдЯрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрд░реЛрдз рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз (рдкрддрд╛ рдмрд╛рд░ рд╕реЗ) рдЦреЛрдЬрддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЙрд╕ рдорд╢реАрди рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдИрдкреА рдкрддрд╛ рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рддреБрд▓рдирд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рд╕реНрдХ рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рд╡рд░реНрдЧ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
 import googl client = googl.Googl("MyAPIAccessKey", userip="127.0.0.1") 

рд╕рдВрджрд░реНрдн:

Source: https://habr.com/ru/post/In119560/


All Articles