SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
AdWords API Workshops – All rights reserved
Matias Gomez Carabias, CSE, Google.

AdWords API Workshops – All rights reserved
Agenda
●
●
●
●
●
●

Introduccion
Preparacion
Obtención del Token de Acceso
Demo
Detalle de los flujos de OAuth 2.0
Recursos Disponibles

AdWords API Workshops – All rights reserved
Introduccion

AdWords API Workshops – All rights reserved
Que es OAuth 2.0?
Has visto esta ventana? Una aplicacion esta solicitando
un acceso a tus datos. Se puede permitir o denegar. Se
puede revocar en cualquier momento.

AdWords API Workshops – All rights reserved
Que pasa detras realmente?
La aplicacion obtiene un access token y un refresh token
luego de que el dueño lo permite, lo cual es requerido para
acceder a los servicios de Google
{
"access_token" : "yaxx.xxxxxxxxxxxx",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_token" : "1/xxxxxxxxxxxxxxxxxxxg"
}
AdWords API Workshops – All rights reserved
Accediendo mediante un access Token
La aplicacion puede ahora acceder a los datos mediante el
access token.
$ curl -H "Authorization: Bearer ya29.AHxxxxxxxxxxxxxxxxxxxx"
https://www.googleapis.com/plus/v1/people/me
{
...
"id": "108294709823331281952",
"displayName": "Ryuichi Hoshi",
"url": "https://plus.google.com/108294709823331281952",
...
AdWords API Workshops – All rights reserved
Como funciona OAuth2.
El flujo de OAuth2 se divide en dos partes: Obtener el
access token y acceder el servicio con el token
Obtener un Access token para una
cuenta mediante la aprobación del
dueño de dicha cuenta.

Acceso a los servicios de Google con
el Access Token
AdWords API Workshops – All rights reserved
Beneficios de usar OAuth 2.0
● Mayor seguridad
○ No se expone el username/password

● Control de Acceso mas especifico
○ Los tokens pueden tener alcance restringido sobre los datos
○ Token facilmente revocable
○ Impacto reducido ante un token comprometido

● Sin CAPTCHAs

AdWords API Workshops – All rights reserved
Desventajas de ClientLogin
● Exposicion de username/passwords
○ Acceso completo a la cuenta incluyendo la posibilidad de
cambiar el password.

● Revocar un token no es muy sencillo
○ El token dura 2 semanas.
○ Es necesario cambiar la password para invalidar el token.

● El uso de CAPTCHA es a veces requerido
○ No es posible automatizar la autenticación cuando el
CAPTCHA es requerido.
AdWords API Workshops – All rights reserved
Preparacion

AdWords API Workshops – All rights reserved
Crear un Client ID y Client secret
Todas las aplicaciones que usan OAuth 2.0 deben estar
registradas
Si aún no fueron creados un Client ID y Client Secret, este
es el primer paso para utilizar OAuth 2.0 para los servicios
de Google

AdWords API Workshops – All rights reserved
Crear un nuevo proyecto con Google API
Console

AdWords API Workshops – All rights reserved
Crear un nuevo Client Id de OAuth 2.0

AdWords API Workshops – All rights reserved
Ingresar el nombre de producto

AdWords API Workshops – All rights reserved
Elegir el tipo de aplicacion

AdWords API Workshops – All rights reserved
Ahora, ya hemos generado el Client ID and
Client secret!

AdWords API Workshops – All rights reserved
Obtener el Access Token

AdWords API Workshops – All rights reserved
Obtener un Access Token con ClientLibrary
El ClientLibrary de Java tiene una pequeña herramienta
que nos permite obtener un access token

AdWords API Workshops – All rights reserved
Obtener el Access Token con ClientLibrary
1. Descargar y extraer el proyecto de ejemplo
adwords-axis-examples-1.20.0.tar.gz from downloads

2. Editar el archivo de propiedades
src/main/resources/ads.properties
para incluir la información de OAuth2 (client ID y client secret) e información
básica de la cuenta

AdWords API Workshops – All rights reserved
Obtener el Access Token con ClientLibrary
3. Compilar y Ejecutar el program
$ mvn -X compile
$ mvn -X exec:java 
-Dexec.mainClass="adwords.axis.auth.GetRefreshToken"
Muestra algo como esto:
Paste this url in your browser:
https://accounts.google.com/o/oauth2/auth?
access_type=offline&client_id=xxxxxxxx.apps.googleusercontent.
com&redirect_uri=urn:ietf:wg:oauth:2.0:
oob&response_type=code&scope=https://adwords.google.com/api/adwords
AdWords API Workshops – All rights reserved
Obtener el Access Token con ClientLibrary
4. Pegar la URL en un browser.
Nota: Es necesario estar logueado con una cuenta de
MCC antes de hacerlo.

AdWords API Workshops – All rights reserved
Obtener el Access Token con ClientLibrary
5. Aceptar el Request
Se obtendrá un código que puede ser usado par
intercambiar con el nuevo Access Token

AdWords API Workshops – All rights reserved
Obtener el Access Token con ClientLibrary
6. Insertar el código en el programa que se esta ejecutando
Type the code you received here:
4/-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwI
Your refresh token is: 1/xxxxxxxxxxxxxxxxxxxxTl1vg
In your ads.properties file, modify:
api.adwords.refreshToken=1/xxxxxxxxxxxxxxxxxxxxTl1vg

7. Agregar el archivo ads.properties con el refresh token

AdWords API Workshops – All rights reserved
Obtener el Access Token con ClientLibrary
Felicitaciones!
Ahora, su aplicacion tiene un access token y refresh
token!
Client Library automáticamente obtiene un nuevo access
token con el refresh token cada vez que sea requerido.

AdWords API Workshops – All rights reserved
Demo

AdWords API Workshops – All rights reserved
Detalle de los flujos de OAuth 2.0

AdWords API Workshops – All rights reserved
Flujos de OAuth 2.0 soportados
Google soporta los siguientes escenarios de OAuth 2.0
●
●
●
●

Web server applications
Installed applications
Applications on limited-input devices
Service Accounts requires your own Google Apps domain

AdWords API Workshops – All rights reserved
Diferencias entre los flujos
Registration to API
Console

Registration to
API Console

Use
Client
Authentication Secret
Code

Refresh Token Redirection

Web server
applications

Required

Yes

Required

Available

URL

Installed
applications

Required

Yes

Required

Available

URL, Text

Client-side
applications

Required

-

-

-

URL

Applications on
limited-input device

Required

-

Required

Available

-

AdWords API Workshops – All rights reserved
Web server or installed application?
Elegir Installed application salvo que se tengan muchas
cuentas que necesitan autorización.
Elegir Web server application cuando se necesita
autorización para muchas cuentas.

AdWords API Workshops – All rights reserved
Flujo de Web Server Application
Casos:
Se quiere usar autenticación de OAuth 2.0 para cada
cliente en vez de invitarlos al MCC
Beneficios:
El cliente no debe darnos acceso a la UI.
No es necesario vincular las cuentas.
Es posible automatizar el proceso de intercambio mediante
este flujo.
AdWords API Workshops – All rights reserved
Flujo Installed Application
Casos:
Todas las cuentas se encuentran vinculadas a un mismo
MCC y se quiere usar un solo set de credenciales.
Beneficios:
No es necesario administrar/refrescar los access tokens
para todos los clientes.
Obtener access token para el MCC es suficiente para
acceder a todas las cuentas vinculadas.
AdWords API Workshops – All rights reserved
Recursos Disponibles

AdWords API Workshops – All rights reserved
Resources
Docs Links:
Using OAuth 2.0 to Access Google APIs: http://goo.gl/8Gis5
Using OAuth 2.0 for Web Server Applications: http://goo.gl/IghDp
Using OAuth 2.0 for Installed Applications: http://goo.gl/R9xYB
Authentication: http://goo.gl/RUotMR
Google API Console: http://goo.gl/9R42O
OAuth Service Accounts: http://goo.gl/85Hhw9
Preguntas?

AdWords API Workshops – All rights reserved
AdWords API Workshops – All rights reserved

Más contenido relacionado

La actualidad más candente

Análisis de clientes ICA
Análisis de clientes ICAAnálisis de clientes ICA
Análisis de clientes ICAJoaquin Herrero
 
Mule Cloud Connectors-Guardando y restaurando el estado o auth
Mule Cloud Connectors-Guardando y restaurando el estado o authMule Cloud Connectors-Guardando y restaurando el estado o auth
Mule Cloud Connectors-Guardando y restaurando el estado o authManuel Antonio
 
Consumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API ManagerConsumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API ManagerIsildurMaC
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerCloudAppi
 

La actualidad más candente (7)

Análisis de clientes ICA
Análisis de clientes ICAAnálisis de clientes ICA
Análisis de clientes ICA
 
Citrix Web Interface
Citrix Web InterfaceCitrix Web Interface
Citrix Web Interface
 
Citrix Secure Gateway
Citrix Secure GatewayCitrix Secure Gateway
Citrix Secure Gateway
 
30.gam introduction sp
30.gam introduction sp30.gam introduction sp
30.gam introduction sp
 
Mule Cloud Connectors-Guardando y restaurando el estado o auth
Mule Cloud Connectors-Guardando y restaurando el estado o authMule Cloud Connectors-Guardando y restaurando el estado o auth
Mule Cloud Connectors-Guardando y restaurando el estado o auth
 
Consumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API ManagerConsumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API Manager
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developer
 

Similar a AdWords API OAuth

WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los serviciosWSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los serviciosWSO2
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAlberto Ruibal
 
Pagos electrónicos
Pagos electrónicosPagos electrónicos
Pagos electrónicosRené Olivo
 
Tech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_selenium
Tech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_seleniumTech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_selenium
Tech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_seleniumEduardo Riol
 
El curioso caso del Geek y la máquina virtual
El curioso caso del Geek y la máquina virtualEl curioso caso del Geek y la máquina virtual
El curioso caso del Geek y la máquina virtualScio Consulting
 
Novedades en Dynamics Portals Abril 2019
Novedades en Dynamics Portals Abril 2019Novedades en Dynamics Portals Abril 2019
Novedades en Dynamics Portals Abril 2019Marco Amoedo
 
Herramientas para analisis web
Herramientas para analisis webHerramientas para analisis web
Herramientas para analisis webCoser y Cantar
 
Sitios blindados de SharePoint
Sitios blindados de SharePointSitios blindados de SharePoint
Sitios blindados de SharePointwww.encamina.com
 
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...Amazon Web Services LATAM
 
App engine
App engineApp engine
App engineThirdWay
 
End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)marcwan
 
04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latamGaston Cruz
 
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013Cinthia Soca
 
Presentación de Lyracons en el Meet Magento Argentina 2017
Presentación de Lyracons en el Meet Magento Argentina 2017 Presentación de Lyracons en el Meet Magento Argentina 2017
Presentación de Lyracons en el Meet Magento Argentina 2017 Diego Amuy
 
Google api oauth2 + android
Google api oauth2 + androidGoogle api oauth2 + android
Google api oauth2 + androidGDG Lima
 
Single sign on spanish - guía completa
Single sign on   spanish - guía completaSingle sign on   spanish - guía completa
Single sign on spanish - guía completaCarlos Toxtli
 

Similar a AdWords API OAuth (20)

WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los serviciosWSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
 
Construyendo APIs Seguras y Escalables
Construyendo APIs Seguras y Escalables Construyendo APIs Seguras y Escalables
Construyendo APIs Seguras y Escalables
 
Servicio web.lauraivettecolinvillarreal
Servicio web.lauraivettecolinvillarrealServicio web.lauraivettecolinvillarreal
Servicio web.lauraivettecolinvillarreal
 
Servicios web
Servicios webServicios web
Servicios web
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en Android
 
Pagos electrónicos
Pagos electrónicosPagos electrónicos
Pagos electrónicos
 
Tech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_selenium
Tech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_seleniumTech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_selenium
Tech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_selenium
 
El curioso caso del Geek y la máquina virtual
El curioso caso del Geek y la máquina virtualEl curioso caso del Geek y la máquina virtual
El curioso caso del Geek y la máquina virtual
 
Novedades en Dynamics Portals Abril 2019
Novedades en Dynamics Portals Abril 2019Novedades en Dynamics Portals Abril 2019
Novedades en Dynamics Portals Abril 2019
 
Herramientas para analisis web
Herramientas para analisis webHerramientas para analisis web
Herramientas para analisis web
 
Sitios blindados de SharePoint
Sitios blindados de SharePointSitios blindados de SharePoint
Sitios blindados de SharePoint
 
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
 
App engine
App engineApp engine
App engine
 
End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)
 
04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam
 
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
 
Presentación de Lyracons en el Meet Magento Argentina 2017
Presentación de Lyracons en el Meet Magento Argentina 2017 Presentación de Lyracons en el Meet Magento Argentina 2017
Presentación de Lyracons en el Meet Magento Argentina 2017
 
Google api oauth2 + android
Google api oauth2 + androidGoogle api oauth2 + android
Google api oauth2 + android
 
Single sign on spanish - guía completa
Single sign on   spanish - guía completaSingle sign on   spanish - guía completa
Single sign on spanish - guía completa
 
Cien usos con serverless
Cien usos con serverlessCien usos con serverless
Cien usos con serverless
 

Más de marcwan

Mcc scripts deck (日本語)
Mcc scripts deck (日本語)Mcc scripts deck (日本語)
Mcc scripts deck (日本語)marcwan
 
Getting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords APIGetting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords APImarcwan
 
Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)marcwan
 
Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)marcwan
 
Opportunity Analysis with Kratu
Opportunity Analysis with KratuOpportunity Analysis with Kratu
Opportunity Analysis with Kratumarcwan
 
07. feeds update
07. feeds update07. feeds update
07. feeds updatemarcwan
 
AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced marcwan
 
AdWords Scripts and MCC Scripting
AdWords Scripts and MCC ScriptingAdWords Scripts and MCC Scripting
AdWords Scripts and MCC Scriptingmarcwan
 
AwReporting Update
AwReporting UpdateAwReporting Update
AwReporting Updatemarcwan
 
Getting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google AnalyticsGetting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google Analyticsmarcwan
 
Shopping Campaigns and AdWords API
Shopping Campaigns and AdWords APIShopping Campaigns and AdWords API
Shopping Campaigns and AdWords APImarcwan
 
API Updates for v201402
API Updates for v201402API Updates for v201402
API Updates for v201402marcwan
 
AdWords API Targeting Options
AdWords API Targeting OptionsAdWords API Targeting Options
AdWords API Targeting Optionsmarcwan
 
Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)marcwan
 
Rate limits and performance (Spanish)
Rate limits and performance (Spanish)Rate limits and performance (Spanish)
Rate limits and performance (Spanish)marcwan
 
AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)marcwan
 
Api update rundown (Spanish)
Api update rundown (Spanish)Api update rundown (Spanish)
Api update rundown (Spanish)marcwan
 
AdWords Scripts (Spanish)
AdWords Scripts (Spanish)AdWords Scripts (Spanish)
AdWords Scripts (Spanish)marcwan
 
Mobile landing pages (Spanish)
Mobile landing pages (Spanish)Mobile landing pages (Spanish)
Mobile landing pages (Spanish)marcwan
 
Rate limits and performance
Rate limits and performanceRate limits and performance
Rate limits and performancemarcwan
 

Más de marcwan (20)

Mcc scripts deck (日本語)
Mcc scripts deck (日本語)Mcc scripts deck (日本語)
Mcc scripts deck (日本語)
 
Getting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords APIGetting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords API
 
Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)
 
Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)
 
Opportunity Analysis with Kratu
Opportunity Analysis with KratuOpportunity Analysis with Kratu
Opportunity Analysis with Kratu
 
07. feeds update
07. feeds update07. feeds update
07. feeds update
 
AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced
 
AdWords Scripts and MCC Scripting
AdWords Scripts and MCC ScriptingAdWords Scripts and MCC Scripting
AdWords Scripts and MCC Scripting
 
AwReporting Update
AwReporting UpdateAwReporting Update
AwReporting Update
 
Getting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google AnalyticsGetting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google Analytics
 
Shopping Campaigns and AdWords API
Shopping Campaigns and AdWords APIShopping Campaigns and AdWords API
Shopping Campaigns and AdWords API
 
API Updates for v201402
API Updates for v201402API Updates for v201402
API Updates for v201402
 
AdWords API Targeting Options
AdWords API Targeting OptionsAdWords API Targeting Options
AdWords API Targeting Options
 
Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)
 
Rate limits and performance (Spanish)
Rate limits and performance (Spanish)Rate limits and performance (Spanish)
Rate limits and performance (Spanish)
 
AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)
 
Api update rundown (Spanish)
Api update rundown (Spanish)Api update rundown (Spanish)
Api update rundown (Spanish)
 
AdWords Scripts (Spanish)
AdWords Scripts (Spanish)AdWords Scripts (Spanish)
AdWords Scripts (Spanish)
 
Mobile landing pages (Spanish)
Mobile landing pages (Spanish)Mobile landing pages (Spanish)
Mobile landing pages (Spanish)
 
Rate limits and performance
Rate limits and performanceRate limits and performance
Rate limits and performance
 

Último

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 

Último (19)

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 

AdWords API OAuth

  • 1. AdWords API Workshops – All rights reserved
  • 2. Matias Gomez Carabias, CSE, Google. AdWords API Workshops – All rights reserved
  • 3. Agenda ● ● ● ● ● ● Introduccion Preparacion Obtención del Token de Acceso Demo Detalle de los flujos de OAuth 2.0 Recursos Disponibles AdWords API Workshops – All rights reserved
  • 4. Introduccion AdWords API Workshops – All rights reserved
  • 5. Que es OAuth 2.0? Has visto esta ventana? Una aplicacion esta solicitando un acceso a tus datos. Se puede permitir o denegar. Se puede revocar en cualquier momento. AdWords API Workshops – All rights reserved
  • 6. Que pasa detras realmente? La aplicacion obtiene un access token y un refresh token luego de que el dueño lo permite, lo cual es requerido para acceder a los servicios de Google { "access_token" : "yaxx.xxxxxxxxxxxx", "token_type" : "Bearer", "expires_in" : 3600, "refresh_token" : "1/xxxxxxxxxxxxxxxxxxxg" } AdWords API Workshops – All rights reserved
  • 7. Accediendo mediante un access Token La aplicacion puede ahora acceder a los datos mediante el access token. $ curl -H "Authorization: Bearer ya29.AHxxxxxxxxxxxxxxxxxxxx" https://www.googleapis.com/plus/v1/people/me { ... "id": "108294709823331281952", "displayName": "Ryuichi Hoshi", "url": "https://plus.google.com/108294709823331281952", ... AdWords API Workshops – All rights reserved
  • 8. Como funciona OAuth2. El flujo de OAuth2 se divide en dos partes: Obtener el access token y acceder el servicio con el token Obtener un Access token para una cuenta mediante la aprobación del dueño de dicha cuenta. Acceso a los servicios de Google con el Access Token AdWords API Workshops – All rights reserved
  • 9. Beneficios de usar OAuth 2.0 ● Mayor seguridad ○ No se expone el username/password ● Control de Acceso mas especifico ○ Los tokens pueden tener alcance restringido sobre los datos ○ Token facilmente revocable ○ Impacto reducido ante un token comprometido ● Sin CAPTCHAs AdWords API Workshops – All rights reserved
  • 10. Desventajas de ClientLogin ● Exposicion de username/passwords ○ Acceso completo a la cuenta incluyendo la posibilidad de cambiar el password. ● Revocar un token no es muy sencillo ○ El token dura 2 semanas. ○ Es necesario cambiar la password para invalidar el token. ● El uso de CAPTCHA es a veces requerido ○ No es posible automatizar la autenticación cuando el CAPTCHA es requerido. AdWords API Workshops – All rights reserved
  • 11. Preparacion AdWords API Workshops – All rights reserved
  • 12. Crear un Client ID y Client secret Todas las aplicaciones que usan OAuth 2.0 deben estar registradas Si aún no fueron creados un Client ID y Client Secret, este es el primer paso para utilizar OAuth 2.0 para los servicios de Google AdWords API Workshops – All rights reserved
  • 13. Crear un nuevo proyecto con Google API Console AdWords API Workshops – All rights reserved
  • 14. Crear un nuevo Client Id de OAuth 2.0 AdWords API Workshops – All rights reserved
  • 15. Ingresar el nombre de producto AdWords API Workshops – All rights reserved
  • 16. Elegir el tipo de aplicacion AdWords API Workshops – All rights reserved
  • 17. Ahora, ya hemos generado el Client ID and Client secret! AdWords API Workshops – All rights reserved
  • 18. Obtener el Access Token AdWords API Workshops – All rights reserved
  • 19. Obtener un Access Token con ClientLibrary El ClientLibrary de Java tiene una pequeña herramienta que nos permite obtener un access token AdWords API Workshops – All rights reserved
  • 20. Obtener el Access Token con ClientLibrary 1. Descargar y extraer el proyecto de ejemplo adwords-axis-examples-1.20.0.tar.gz from downloads 2. Editar el archivo de propiedades src/main/resources/ads.properties para incluir la información de OAuth2 (client ID y client secret) e información básica de la cuenta AdWords API Workshops – All rights reserved
  • 21. Obtener el Access Token con ClientLibrary 3. Compilar y Ejecutar el program $ mvn -X compile $ mvn -X exec:java -Dexec.mainClass="adwords.axis.auth.GetRefreshToken" Muestra algo como esto: Paste this url in your browser: https://accounts.google.com/o/oauth2/auth? access_type=offline&client_id=xxxxxxxx.apps.googleusercontent. com&redirect_uri=urn:ietf:wg:oauth:2.0: oob&response_type=code&scope=https://adwords.google.com/api/adwords AdWords API Workshops – All rights reserved
  • 22. Obtener el Access Token con ClientLibrary 4. Pegar la URL en un browser. Nota: Es necesario estar logueado con una cuenta de MCC antes de hacerlo. AdWords API Workshops – All rights reserved
  • 23. Obtener el Access Token con ClientLibrary 5. Aceptar el Request Se obtendrá un código que puede ser usado par intercambiar con el nuevo Access Token AdWords API Workshops – All rights reserved
  • 24. Obtener el Access Token con ClientLibrary 6. Insertar el código en el programa que se esta ejecutando Type the code you received here: 4/-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwI Your refresh token is: 1/xxxxxxxxxxxxxxxxxxxxTl1vg In your ads.properties file, modify: api.adwords.refreshToken=1/xxxxxxxxxxxxxxxxxxxxTl1vg 7. Agregar el archivo ads.properties con el refresh token AdWords API Workshops – All rights reserved
  • 25. Obtener el Access Token con ClientLibrary Felicitaciones! Ahora, su aplicacion tiene un access token y refresh token! Client Library automáticamente obtiene un nuevo access token con el refresh token cada vez que sea requerido. AdWords API Workshops – All rights reserved
  • 26. Demo AdWords API Workshops – All rights reserved
  • 27. Detalle de los flujos de OAuth 2.0 AdWords API Workshops – All rights reserved
  • 28. Flujos de OAuth 2.0 soportados Google soporta los siguientes escenarios de OAuth 2.0 ● ● ● ● Web server applications Installed applications Applications on limited-input devices Service Accounts requires your own Google Apps domain AdWords API Workshops – All rights reserved
  • 29. Diferencias entre los flujos Registration to API Console Registration to API Console Use Client Authentication Secret Code Refresh Token Redirection Web server applications Required Yes Required Available URL Installed applications Required Yes Required Available URL, Text Client-side applications Required - - - URL Applications on limited-input device Required - Required Available - AdWords API Workshops – All rights reserved
  • 30. Web server or installed application? Elegir Installed application salvo que se tengan muchas cuentas que necesitan autorización. Elegir Web server application cuando se necesita autorización para muchas cuentas. AdWords API Workshops – All rights reserved
  • 31. Flujo de Web Server Application Casos: Se quiere usar autenticación de OAuth 2.0 para cada cliente en vez de invitarlos al MCC Beneficios: El cliente no debe darnos acceso a la UI. No es necesario vincular las cuentas. Es posible automatizar el proceso de intercambio mediante este flujo. AdWords API Workshops – All rights reserved
  • 32. Flujo Installed Application Casos: Todas las cuentas se encuentran vinculadas a un mismo MCC y se quiere usar un solo set de credenciales. Beneficios: No es necesario administrar/refrescar los access tokens para todos los clientes. Obtener access token para el MCC es suficiente para acceder a todas las cuentas vinculadas. AdWords API Workshops – All rights reserved
  • 33. Recursos Disponibles AdWords API Workshops – All rights reserved
  • 34. Resources Docs Links: Using OAuth 2.0 to Access Google APIs: http://goo.gl/8Gis5 Using OAuth 2.0 for Web Server Applications: http://goo.gl/IghDp Using OAuth 2.0 for Installed Applications: http://goo.gl/R9xYB Authentication: http://goo.gl/RUotMR Google API Console: http://goo.gl/9R42O OAuth Service Accounts: http://goo.gl/85Hhw9
  • 35. Preguntas? AdWords API Workshops – All rights reserved
  • 36. AdWords API Workshops – All rights reserved