Je Partage #1 - 2013
Présentation sur le fonctionnement des Google APIs et les technologies Google les plus incontournables et les plus utiles dans le domaine de développement.
Par : DILMI Fethi (af_dilmi@esi.dz)
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015Suzzicks
Emily Grossman's deck from Pubcon (Las Vegas) in October 2015 on App Deep Linking strategies after the 4/21 Mobile Friendly update. This deck covers:
- App Packs in Google Search
- Google App Indexing for Android & iOS
- Apple App Indexing
- Deep Linking for Email and Social Media
Overview of how to setup up app indexing inside of a mobile application. Includes the technical implementation for Android and Windows Phone, as well as some speculation about iOS app indexing support. Covers Bing App Linking setup as well.
Topics Covered include:
- App URI format for deep links
- Creating an intent filter and view action in AndroidManifest.xml
- Crawl of app URI via rel=alternate, schema ViewAction in JSON-LD, and annotations in XML Sitemap
- Managing noindex for app indexing via noindex.xml in the App Resource Directory
- App indexing API
- App appearance in autocomplete
- App actions via knowledge graph and app indexing
- Listen actions in JSON-LD
- App actions in search results via Knowledge Graph
- iOS app indexing for Apple devices
- Windows Phone and Window App indexing via Bing App Linking
As part of exercise to test the extensibility of OpenID Connect to other protocols than HTTP, we have created a custom scheme binding. This is still a rough sketch but should give you some ideas on what it is. It may seem to be a bit of stretch, but has a niche characteristics that it does not "leak" information to external OPs.
There will be a companion RP side as well, which would be a more normal case.
From the SMX Advanced Conference in Seattle, Washington, June 2-3, 2015. SESSION: What You Should Be Doing With App Deep Linking. PRESENTATION: Increasing App Installs With App Indexation - Given by Justin Briggs, @justinrbriggs - Briggsby, CEO. #SMX #22A
Overview of deep links and app indexing for iOS and Android apps on both Google and Bing.
Includes implementation details on setting up deep link support in mobile apps and annotating a website to expose these URIs for app indexation.
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015Suzzicks
Emily Grossman's deck from Pubcon (Las Vegas) in October 2015 on App Deep Linking strategies after the 4/21 Mobile Friendly update. This deck covers:
- App Packs in Google Search
- Google App Indexing for Android & iOS
- Apple App Indexing
- Deep Linking for Email and Social Media
Overview of how to setup up app indexing inside of a mobile application. Includes the technical implementation for Android and Windows Phone, as well as some speculation about iOS app indexing support. Covers Bing App Linking setup as well.
Topics Covered include:
- App URI format for deep links
- Creating an intent filter and view action in AndroidManifest.xml
- Crawl of app URI via rel=alternate, schema ViewAction in JSON-LD, and annotations in XML Sitemap
- Managing noindex for app indexing via noindex.xml in the App Resource Directory
- App indexing API
- App appearance in autocomplete
- App actions via knowledge graph and app indexing
- Listen actions in JSON-LD
- App actions in search results via Knowledge Graph
- iOS app indexing for Apple devices
- Windows Phone and Window App indexing via Bing App Linking
As part of exercise to test the extensibility of OpenID Connect to other protocols than HTTP, we have created a custom scheme binding. This is still a rough sketch but should give you some ideas on what it is. It may seem to be a bit of stretch, but has a niche characteristics that it does not "leak" information to external OPs.
There will be a companion RP side as well, which would be a more normal case.
From the SMX Advanced Conference in Seattle, Washington, June 2-3, 2015. SESSION: What You Should Be Doing With App Deep Linking. PRESENTATION: Increasing App Installs With App Indexation - Given by Justin Briggs, @justinrbriggs - Briggsby, CEO. #SMX #22A
Overview of deep links and app indexing for iOS and Android apps on both Google and Bing.
Includes implementation details on setting up deep link support in mobile apps and annotating a website to expose these URIs for app indexation.
How to Develop APIs - Importance, Types, Tools, Terminology, and Best Practic...Techugo Inc
Wondering how to develop APIs? And want to perform API integration for your business? Then you must know everything about API development. Also, get top-notch API solutions from the best API app development company. So, contact us to build an API for your business application right now! Visit: https://www.techugo.com/blog/how-to-develop-apis-importance-types-tools-terminology-and-best-practices/
Guide To API Development – Cost, Importance, Types, Tools, Terminology, and B...Techugo
Building an API is the foundation for any apps dealing with data or requiring communication between two goods or services. A collection of guidelines or standards known as an API allows the software to use the capabilities of another app. For example, when you choose “Connect with Facebook,” Candy Crush immediately gets your Facebook account information. It can access the Facebook server using API integration, saving you the trouble of manually entering your information.
What are ap is, how do they work, and why are they beneficial to developers a...Shelly Megan
We’re living in an API centric world Many of our daily activities revolve around APIs, and most of us are not even aware of it! You can instantly browse information on the current weather conditions.
API (Application Programming Interface) development has become an essential aspect of modern software development. It allows different applications to interact with each other, exchange data and provide services seamlessly. To develop a successful API, you need to follow some crucial steps like defining API requirements, choosing the right protocol, designing the API interface, and testing it thoroughly. Furthermore, you should consider the security aspects of API development, including authentication, authorization, and encryption. Finally, you should document your API comprehensively, providing clear instructions for developers to use and integrate it with their applications.
Webinar: API Extravaganza! Combining Google Analytics and ORCID APIARDC
Presented on 22 September 2016.
This is a technical presentation that provides an introduction to the Google's APIs for (Google Analytics, Drive, and Sheets) APIs and how they can be combined with ORCID API and other external sources. More Specifically, we talk about
- Accessing Google APIs with a service account
- Querying the Google Analytics Core Reporting API
- Creating/managing files with Google Drive and Sheets APIs
- Integrating data from externals sources using the ORCID public API
Presenter: Liz Krznarich from ORCID
Liz is a software developer and UI designer at ORCID, where she takes on projects ranging from server automation to user interface design, and development for content management systems. Liz has a range of experience in design, web development, technology training and academic libraries, and previously worked at the University of Wisconsin. Liz earned a BS in Graphic Design and a Master's in Library & Information Science from the University of Wisconsin.
One of the major changes in SharePoint 2013 is the introduction of apps. Apps for both SharePoint and Office provide a new model for developing, packaging and deploying custom solution for SharePoint.
This brief presentation will introduce the main aspects of the apps model introduced form Microsoft to addres custom features to SharePoint both on-premises and online.
How to Develop APIs - Importance, Types, Tools, Terminology, and Best Practic...Techugo Inc
Wondering how to develop APIs? And want to perform API integration for your business? Then you must know everything about API development. Also, get top-notch API solutions from the best API app development company. So, contact us to build an API for your business application right now! Visit: https://www.techugo.com/blog/how-to-develop-apis-importance-types-tools-terminology-and-best-practices/
Guide To API Development – Cost, Importance, Types, Tools, Terminology, and B...Techugo
Building an API is the foundation for any apps dealing with data or requiring communication between two goods or services. A collection of guidelines or standards known as an API allows the software to use the capabilities of another app. For example, when you choose “Connect with Facebook,” Candy Crush immediately gets your Facebook account information. It can access the Facebook server using API integration, saving you the trouble of manually entering your information.
What are ap is, how do they work, and why are they beneficial to developers a...Shelly Megan
We’re living in an API centric world Many of our daily activities revolve around APIs, and most of us are not even aware of it! You can instantly browse information on the current weather conditions.
API (Application Programming Interface) development has become an essential aspect of modern software development. It allows different applications to interact with each other, exchange data and provide services seamlessly. To develop a successful API, you need to follow some crucial steps like defining API requirements, choosing the right protocol, designing the API interface, and testing it thoroughly. Furthermore, you should consider the security aspects of API development, including authentication, authorization, and encryption. Finally, you should document your API comprehensively, providing clear instructions for developers to use and integrate it with their applications.
Webinar: API Extravaganza! Combining Google Analytics and ORCID APIARDC
Presented on 22 September 2016.
This is a technical presentation that provides an introduction to the Google's APIs for (Google Analytics, Drive, and Sheets) APIs and how they can be combined with ORCID API and other external sources. More Specifically, we talk about
- Accessing Google APIs with a service account
- Querying the Google Analytics Core Reporting API
- Creating/managing files with Google Drive and Sheets APIs
- Integrating data from externals sources using the ORCID public API
Presenter: Liz Krznarich from ORCID
Liz is a software developer and UI designer at ORCID, where she takes on projects ranging from server automation to user interface design, and development for content management systems. Liz has a range of experience in design, web development, technology training and academic libraries, and previously worked at the University of Wisconsin. Liz earned a BS in Graphic Design and a Master's in Library & Information Science from the University of Wisconsin.
One of the major changes in SharePoint 2013 is the introduction of apps. Apps for both SharePoint and Office provide a new model for developing, packaging and deploying custom solution for SharePoint.
This brief presentation will introduce the main aspects of the apps model introduced form Microsoft to addres custom features to SharePoint both on-premises and online.
Discover how to build APIs using the Apigee API Services toolkit. Deep dive into Apigee's API Serives solution, API design and management technology including OAuth and security, persistence & caching, Node.js and more.
Integrating consumers IoT devices into Business WorkflowYakov Fain
From the software development perspective IoT is about programming "things", connecting them with each other and integrating them with existing applications. This presentation will demonstrate how IoT-enabled devices from multiple manufacturers can be integrated into a workflow of a business application. You'll see a live demo of using commercial consumer devices as a part of an application that utilizes such technologies such as REST API, OAuth, Websockets, and Java. This presentation will give you an idea of how to go about integration of new devices as they become available on the market.
Rentrée universitaire rime aussi avec reprise des activités extrascolaires. Le CSE ouvre le bal avec un welcome day grandiose à l'ESI le 18 Octobre 2015.
Pas grave si vous avez loupé l'évènement, nous partageons avec vous les slides pour redécouvrir l'histoire du club et vous informer de la nouvelle vision du CSE 2015/2016.
La présentation utilisée lors d'un atelier relatant des notions de base de réseaux informatiques (Modèles OSI et TCP/IP, Adresses IP et MAC, Hub, Switch).
Ceci est le troisième numéro de la revue des étudiants de l'ESI née d'un projet du CSE Club Scientifique de l'Ecole. Celui-ci marque le retour du magazine après quelques semaines d'absence.
Introduction à Unity 3D animée par MOSTEFAOUI Mohamed Anes durant le GameDev organisé par le CSE.
Anes est un Microsoft Certified Professional, Mirosoft Student Partner et formateur Game Dev depuis 2011.
La Gazette de l'ESI est un recueil d'articles écrits par des étudiants de l'ESI, ayant trait à tout ce qui se rapporte à la vie au sein de l'école. Que ce soit les activités des différents clubs, l'actualité pédagogique des étudiants voir de la culture générale ou des lettres ouvertes. En bref, tout ce qui peut de près ou de loin intéresser les étudiants.
La Gazette est un projet proposé et réalisé par les membres du CSE.
Projet proposé et dirigé par: SI MOHAMMED Hakim (bh_si_mohammed@esi.dz)
Les chefs de rubriques:
Actualités : Kaouther TAIBOUNI (bk_taibouni@esi.dz)
Clubs : Selma BENOUADAH (bs_benouadah@esi.dz)
Culture générale : Lamia Benaouali (bl_benaouali@esi.dz)
Loisir : Nesrine SENINET (bn_seninet@esi.dz)
Technologies : Imene Garidi (bi_garidi@esi.dz)
Sciences : Youcef Abderrahmane BEKHTI (by_bekhti@esi.dz)
MotivationDay est une journée organisée par le Club Scientifique de l'ESI à fin de motiver les étudiants de 1ère année et 2ème année à bien se préparer pour leurs examens semestrielles
La Gazette de l'ESI est un recueil d'articles écrits par des étudiants de l'ESI, ayant trait à tout ce qui se rapporte à la vie au sein de l'école. Que ce soit les activités des différents clubs, l'actualité pédagogique des étudiants voir de la culture générale ou des lettres ouvertes. En bref, tout ce qui peut de près ou de loin intéresser les étudiants.
La Gazette est un projet proposé et réalisé par les membres du CSE.
Projet proposé et dirigé par: SI MOHAMMED Hakim (bh_si_mohammed@esi.dz)
Conférence Natural User Interface durant le UX DAY à la Semaine Du Web.
Par BENBRAHIM Ilyes <i_benbrahim@esi.dz>
De la Command Line Interface (CLI) ou les utilisateurs étaient obligés de taper des lignes de code dans une certaine syntaxe pour avoir des résultats, à la Graphic User Interface avec la venu de la souris, des icones, menus et fenetrres, nous passons à la Natural User Interface (NUI) ou le seul controleur de l'application est le corps humain, suivez la présentation pour plus d'explication.
jQuery est une bibliothèque JavaScript libre qui porte sur l'interaction entre JavaScript (comprenant Ajax) et HTML, et a pour but de simplifier des commandes communes de JavaScript.
Atelier présenté par SMAHI Zakaria.
UX Day, Semaine du Web.
1. Understanding
Google APIs
Building application that uses Google APIs
Fethi DILMI
Active Member at Scientific Club of ESI – CSE
Technical Manager at GDG Algiers
Microsoft Student Partner
3. What's Google APIs
●
Google offers a variety of APIs, mostly web APIs for
web developers and mobile developers.
●
The APIs are based on popular Google consumer
products, including Google Maps, Google Earth,
AdSense, Adwords, Google Apps and YouTube.
4. What's Google APIs
Example:
●
YOU use Google+ from your web browser.
●
Your Android application uses Google+ through
Google+ API.
●
i.e: Google APIs are the tools we need to build
applications that can use Google Products.
6. How Google APIs work behind the scenes ?
●
Most of Google APIs are web-based APIs.
●
This kind of APIs are called RESTFUL APIs (because they
are based on REST architecture).
●
REST is a style of software architecture that is based on
HTTP protocol to retrieve data.
7. How Google APIs work behind the scenes ?
●
Most of Google APIs are web-based APIs.
●
This kind of APIs are called RESTFUL APIs (because they
are based on REST architecture).
●
REST is a style of software architecture that is based on
HTTP protocol to retrieve data.
Simply, in order to use Google APIs , you
only need to make HTTP requests to get
data ☺
8. How Google APIs work behind the scenes ?
Example: “Google Places API”
https://maps.googleapis.com/maps/api/place/nearbysearch/xml?
location=36.825,2.3257&radius=50000&sensor=false&key=AddYourOwnKey
Here
11. Global Structure of an API HTTP request
Each HTTP request is composed of 4 parts:
– API Scope
– Action
– Output format
– Parameters
To understand these parts, we'll take the previous example:
https://maps.googleapis.com/maps/api/place/nearbysearch/xml?
location=36.825,2.3257&radius=50000&sensor=false&key=AddYourOwnKeyHere
12. Global Structure of an API HTTP request
1- API Scope:
●
A scope is the main part of the HTTP request.
●
In our case it's: https://maps.googleapis.com/maps/api/place
●
A scope defines the web address of the API.
●
For example, the scope of Google Latitude API is:
https://www.googleapis.com/latitude/
NB: Some API Scopes defines an API version, just like
the Latitude API
13. Global Structure of an API HTTP request
2- Output formats:
●
There are 2 possible output formats for an API request.
– JSON
– XML
●
In the previous example, we could get the same results in
JSON format:
https://maps.googleapis.com/maps/api/place/nearbysearch/json ?
location=36.825,2.3257&radius=50000&sensor=false&key=AddYourOwnKeyHere
14. Global Structure of an API HTTP request
3- ACTION:
●
Each Google web API gives you a set of possibilities
called ACTIONS.
●
In our example, we specified for the Google Places API
the action “nearbysearch” to search places in a radius
of 50Km.
●
We could also search a place's detail.
15. Global Structure of an API HTTP request
4- Parameters:
●
Each action has a set of parameters.
●
Action Parameters let you customize the results you
want to get.
●
In our example, we could add the parameter
“type=food” to search only for restaurants.
17. Types of Google web APIs
●
There are 2 kinds of Google web APIs:
– Public APIs.
– Private APIs.
18. Types of Google web APIs
1- Public APIs
●
Interact with public content: Google Maps API, Google
Places API ..
●
Need an authentication key to be able to retrieve data.
19. Types of Google web APIs
2- Private APIs
●
Interact with user private date: Google+ API, Google
Latitude API, Google Drive SDK ..
●
Need an authorization process before accessing to user
data.
21. Authentication
●
Public APIs use authentication key to identify your application.
●
This means, in our previous example we would not be able to
make a search using Google Places API without specifying an
authentication key.
●
Each device type has a different kind of key:
– Android application authentication key.
– Web application authentication key.
– Web Service authentication key
– ..
23. Authentication
●
Identify from which device your application is making API request:
i.e: You can't make an API request from a web browser using an
Android application authentication key.
●
Limit the quota of requests per day: Each API has a limited number
of requests per day. Since your application makes request using an
authentication key, Google Servers will be able to stop your
application when it exceeds its daily quota.
●
Limit the number of requests per second for a single user: Your
application may be used by millions of people at the same time, and
since we're talking about a daily quota, we have to limit the number of
requests/second for a single user.
24. Authentication
●
Identify from which device your application is making API request:
i.e: You can't make an API request from a web browser using an
Android application authentication key.
●
Limit the quota of requests per day: Each API has a limited number
of requests per day. Since your application makes request using an
authentication key, Google Servers will be able to stop your
application when it exceeds its daily quota.
●
Limit the number of requests per second for a single user: Your
application may be used by millions of people at the same time, and
since we're talking about a daily quota, we have to limit the number of
requests/second for a single user.
25. Authentication
●
Identify from which device your application is making API request:
i.e: You can't make an API request from a web browser using an
Android application authentication key.
●
Limit the quota of requests per day: Each API has a limited number
of requests per day. Since your application makes request using an
authentication key, Google Servers will be able to stop your
application when it exceeds its daily quota.
●
Limit the number of requests per second for a single user: Your
application may be used by millions of people at the same time, and
since we're talking about a daily quota, we have to limit the number of
requests/second for a single user.
27. Authorization:
●
Private APIs try to fetch user data.
●
This cannot be done without the permission of the user.
●
So we need a tool to demand permissions from the user
in order to perform action on his/her private data.
28. Authorization:
●
Private APIs try to fetch user data.
●
This cannot be done without the permission of the user.
●
So we need a tool to demand permissions from the user
in order to perform action on his/her private data.
THIS TOOL IS CALLED “OAuth2.0”
44. How to create Authentication and
Authorization keys ?
45. How to create Authentication and
Authorization keys ?
●
To get authentication/authorization keys, you have to
register your application.
●
Registering your application is signing its name, type,
package, and extra info.
46. How to create Authentication and
Authorization keys ?
●
To get authentication/authorization keys, you have to
register your application.
●
Registering your application is signing its name, type,
package, and extra info.
Please focus on the following steps ☺
47. How to create Authentication and
Authorization keys ?
●
Connect to your Google account.
●
Go to: https://code.google.com/apis/console/
●
Click on “Create Project”
48. How to create Authentication and
Authorization keys ?
●
Now there is a list of all Google APIs, choose for example the
"Google Places API", and check it up:
●
Register your organization like shown in the image and click submit:
49. How to create Authentication and
Authorization keys ?
● Agree & Accept
50. How to create Authentication and
Authorization keys ?
●
You can now notice that the Google Places API is activated:
●
Click on "Overview", then click on "Register" in order to register
your project:
51. How to create Authentication and
Authorization keys ?
●
Type a unique project ID
52. How to create Authentication and
Authorization keys ?
●
You've created automatically an authentication key for browser
applications
53. How to create Authentication and
Authorization keys ?
●
You can click on:
– Create New Server Key: To create an authentication key for
a server application
– Create New Server Key: To create an authentication key for
an Android application.
●
You can create many authentication keys for the same
application type (example: 3 authentication keys for
Android Applications)
54. How to create Authentication and
Authorization keys ?
●
And Now ..
How To Create
Authorization Keys ?
55. How to create Authentication and
Authorization keys ?
●
Click on “Create an OAuth 2.0 Client ID”. This dialog will show up:
56. How to create Authentication and
Authorization keys ?
●
Click on “Create an OAuth 2.0 Client ID”. This dialog will show up:
57. How to create Authentication and
Authorization keys ?
Now please focus with me, it's so important ! In the
following dialog, you'll be asked to specify your
application type !!
58. How to create Authentication and
Authorization keys ?
1- Web Applications:
●
If you choose this type of application, you'll be asked to
specify your application URL. Than Google will generate
a redirect URI according to what you've entered.
59. How to create Authentication and
Authorization keys ?
2- Server Applications:
●
Applications of this type run on server.
●
They're a little bit different, so I invite you to read this
article to understand more:
https://developers.google.com/accounts/docs/OAuth2#
serviceaccount
60. How to create Authentication and
Authorization keys ?
3- Installed Applications:
●
This could be:
– Android application: You'll have to specify you're application
package (it must be unique)
– iOS application.
– Chrome extension.
– A Desktop application .
– etc...
61. How to create Authentication and
Authorization keys ?
●
I'll take the example of a Desktop Application
62. How to create Authentication and
Authorization keys ?
●
When you click “Create Client ID”, this dialog will show up:
63. How to create Authentication and
Authorization keys ?
●
You can create many authorization keys for many
projects.
●
We'll see how to use the “Client ID” and the “Client
Secret” to make authorized API calls.
65. Google APIs Client Libraries
●
It's not easy to construct manually authorized HTTP
requests.
●
It's much harder to parse the XML/JSON results in order
to extract information.
66. Google APIs Client Libraries
●
Google created some libraries to do those tasks for you:
It's Google API Client Libraries.
●
Google API Client Libraries are available in many
languages (e.g: PHP, Python, C# and .NET, Java ..)
●
In this Demo, we'll be using the Google API Client for
Python.
67. Let's Start !!
Now that we know what OAuth 2.0 looks like. How does it work in the
Google API Client for Python?
74. Step By Step
FLOW = OAuth2WebServerFlow(
client_id='<CLIENT ID HERE>',
client_secret='<CLIENT SECRET HERE>',
redirect_uri='https://.../oauth2callback',
scope='https://.../tasks',
user_agent='my-sample/1.0')
First, create a Flow.
75. Step By Step
FLOW = OAuth2WebServerFlow(
client_id='<CLIENT ID HERE>',
client_secret='<CLIENT SECRET HERE>',
redirect_uri='https://.../oauth2callback',
scope='https://.../tasks',
user_agent='my-sample/1.0')
Fill your Client ID, Client Secret and redirect URI
76. Step By Step
authorize_url = FLOW.step1_get_authorize_url()
self.redirect(authorize_url)
We request and authorization URL
82. References
●
“OAuth 2.0 and the Google API Client for Python”.
●
“Understanding Google APIs” :
http://fethidilmi.blogspot.com
●
Google Developers portal:
http://developers.google.com