Académique Documents
Professionnel Documents
Culture Documents
Cours de formation pratique pour intégrer l'API Cloud Orange dans ses applications
Par Orange
Le Cloud Orange est adopté par des millions utilisateurs, en France, susceptibles d'être
intéressées par une application qui interagit avec leur espace de stockage. C'est pour vous
aider à adresser cette opportunité que ce tutoriel a été rédigé.
Un espace de dialogue vous est proposé sur le forum, si vous avez des remarques
concernant ce tutoriel.
Commentez
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
I - Présentation de l'API.............................................................................................................................................. 3
I-A - Inscription....................................................................................................................................................... 3
I-B - Création et paramétrage de l'application....................................................................................................... 4
II - Programmation avec l'API Cloud Orange..............................................................................................................9
II-A - Programmer pour une application en langage Python............................................................................... 10
II-A-1 - Pour démarrer.................................................................................................................................... 10
II-A-2 - Instanciation de OrangeCloudClient...................................................................................................11
II-A-3 - Lister le contenu d'un dossier............................................................................................................ 11
II-A-4 - Récupérer les informations d'un fichier ou d'un dossier.................................................................... 11
II-A-5 - Télécharger du contenu..................................................................................................................... 11
II-A-6 - Envoyer du contenu........................................................................................................................... 12
II-A-7 - Supprimer un fichier ou répertoire..................................................................................................... 12
II-A-8 - Créer un répertoire............................................................................................................................. 12
II-B - Programmer pour une application Java sous Android............................................................................... 13
II-B-1 - Pour démarrer.................................................................................................................................... 13
II-B-2 - Prérequis pour le bon fonctionnement du script................................................................................ 15
II-B-2-a - Vérifier le AndroidManifest.xml.................................................................................................. 15
II-B-2-b - Vérifier le Activity.java................................................................................................................ 16
II-B-3 - L'utilisation de l'API............................................................................................................................ 16
II-B-4 - Quelques exemples de codes............................................................................................................17
II-B-4-a - Lister le contenu du Cloud Orange........................................................................................... 17
II-B-4-b - Envoyer un fichier vers le Cloud d'Orange................................................................................18
II-C - Programmer pour une application sous iOS (Swift)................................................................................... 18
II-C-1 - Pour démarrer.................................................................................................................................... 18
II-C-2 - La classe CloudManager................................................................................................................... 20
II-C-3 - Quelques exemples de codes............................................................................................................20
II-C-3-a - Lister le contenu du Cloud Orange........................................................................................... 20
II-C-4 - Envoyer un fichier vers le Cloud d'Orange........................................................................................ 21
Remerciements Developpez.com.............................................................................................................................. 21
-2-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
I - Présentation de l'API
Orange mets à disposition plusieurs API, parmi elles, on retrouve l'API Cloud France. Celle-ci permet aux utilisateurs
de votre application d'utiliser leur Cloud Orange et ses 100 Gb de stockage confidentiel et personnel.
Vous pouvez utiliser cette API pour manipuler des fichiers, synchroniser des données, proposer du stockage à vos
utilisateurs et accéder à un marché potentiel de plusieurs millions d'utilisateurs du Cloud Orange en France.
I-A - Inscription
Avant tout, il vous faut un compte développeur, pour le créer c'est par ici.
Formulaire d'inscription
Après la validation de ce formulaire, il est nécessaire de lire et d'accepter le Contrat Général d'Utilisation (CGU):
-3-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
La réception d'un mail pour valider le compte et créer une première application est systématique et quasiment
instantanée.
Lors du clic sur le lien de validation, il est nécessaire de renseigner les quelques informations sur l'application qui va
utiliser l'API, un nom et une description (en anglais si possible).
Application 'Ma Super Application' has been created. Now click ‘Add an API' to subscribe to an
API and activate your client ID.
L'application « Ma Super Application » a été créée. Vous devez désormais cliquer sur « Ajouter
une API » pour souscrire à une API et activer votre client ID.
-4-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
Il faut alors cliquer sur « ADD API », puis sélectionner « Cloud France » dans la longue liste d'API disponibles.
C'est le cinquième de la liste.
Ensuite, cliquez sur le bouton « Next » ;lisez et acceptez le contrat général d'utilisation. Maintenant, cliquez à nouveau
sur « Next » pour aller à l'étape suivante.
-5-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
Attention, l'étape qui vient est très importante ! Il s'agit ajouter l'URL de retour de l'API de Cloud, c'est-à-dire que l'on
va spécifier à Orange l'endroit où l'API va devoir rediriger l'utilisateur après sa connexion au Cloud Orange.
Autrement dit : c'est sur cette URL, complétée par le Authorization_code, que l'utilisateur sera redirigé après sa
connexion. On pourra toujours modifier cette URL dans l'onglet Content Screen Details. Pour plus d'informations
sur le fonctionnement, vous pouvez lire le tutoriel sur l'authentification 3-Legged.
-6-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
Ajout de l'URL
API 'Cloud France' has been added to application 'Ma Super Application'
• un Application ID ;
• un Client ID ;
• un Client Secret ;
• un Authorization header.
-7-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
Pour ceux qui l'ont remarqué, l'Authorization header est encodé en base64, il est à utiliser brut, comme fourni, il s'agit
d'une simple chaine de caractères si vous vous amusez à la décoder.
Pour voir le Client ID et le Client secret, il est nécessaire de cliquer sur le bouton « Show » puis d'entrer son mot de
passe. Après quoi, les deux informations apparaissent.
-8-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
Maintenant, vous disposez de tout ce qui est nécessaire pour pouvoir réaliser vos appels à l'API. Il ne vous reste
qu'à utiliser les SDKs mis à disposition. Libre à vous d'utiliser votre propre langage, l'API étant une API REST, vous
pouvez utiliser PHP avec cURL ou bien d'autres langages :)
-9-
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
Pour Python, il est nécessaire de posséder … Python ! Pour télécharger l'installeur, c'est par ici.
Nous utiliserons la version 3.5 de Python pour cet exemple. Cependant, vous pouvez décider de prendre la version
2.7 pour l'intégrer à votre projet, cela n'a pas d'importance.
Une fois l'installation de Python terminée, on démarre “Python” et “IDLE”, il s'agit de l'interpréteur Python et de la
console Python. C'est dans cette dernière que nous allons coder notre application.
Interpréteur Python
La première étape va être de s'assurer du consentement de l'utilisateur dont on veut avoir accès à son compte Cloud.
https://api.orange.com/oauth/v2/authorize?prompt=login
%20consent&state=orangeCloud&redirect_uri=[REDIRECT_URI]&response_type=code&client_id=[CLIENT_ID]&scope=open
%20Cloud
1. import urllib
2. f = { 'redirect_uri' : 'http://www.masuperapplication.com/'}
3. urllib.urlencode(f)
En effet, cette dernière vous facilitera la tâche. Les espaces doivent être remplacés par des %20, les slash par des
%2F.
Notre utilisateur arrivera donc sur la page de connexion Orange Cloud puis, une fois authentifié, il sera redirigé sur
la page spécifiée dans votre redirect_uri :
http://www.masuperapplication.com/?code=OFR-3987d7…d5r47eff&state=state
- 10 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
Il ne vous reste plus qu'à récupérer ce code lors de la redirection. Vous devrez passer le code au constructeur de
la classe OrangeCloudClient. Lors de l'instanciation, la classe se chargera seule de l'entière gestion des tokens
d'authentification. Vous n'aurez pas à gérer cette partie.
Attention, avant de donner son consentement, l'utilisateur doit avoir accepté le contrat général d'utilisation du Cloud
Orange. S'il ne l'a pas encore accepté, la demande retournera une erreur CGU_NOT_ACCEPTED. Toutefois, une
page pour accepter le contrat est présentée automatiquement à l'utilisateur lors de sa connexion.
Avant toute chose, il faut commencer par importer les bonnes librairies. Pour cela, il suffit de rentrer la ligne ci-dessous.
1. app = {'clientId':'CLIENT_ID','clientSecret':'CLIENT_SECRET','redirectUri':'REDIRECT_URI'}
client = OrangeCloudClient(app,authCode='CODE_RECUPERE_LORS_RECUPERATION_DEMANDE_CONSENTEMENT')
1. folderInfo = client.listFolder()
2. for f in folderInfo['subfolders']+folderInfo['files']:
3. print (f['name'] + ' ' + f.get('type',''))
Pour lister le contenu d'un dossier spécifique, il est nécessaire de passer un identifiant de dossier a la méthode
« listFolder(FILE_ID) ».
Aussi, si vous souhaiter récupérer récursivement le contenu de dossier et des sous-dossiers, vous utiliserez la
méthode “listAllFiles()” en lieu et place de “listFolder()” .
Dans l'exemple précédent, nous avons vu comment récupérer le contenu du dossier racine. Cependant, pour passer
un FILE_ID à notre méthode, il est nécessaire de pouvoir récupérer ce FILE_ID. Pour cela, voici comment faire:
1. folderInfo = client.listFolder()
2. for d in folderInfo['subfolders']:
3. print (d['name'])
4. files = folderInfo['files']
5. for f in files:
6. details = client.getFileInfo(f['id'])
7. print ("%(name)s: type:%(type)s size:%(size)s date:%(creationDate)s" % details)
Vous avez maintenant toutes les informations pour lister le contenu du Cloud Orange. Nous allons maintenant voir
comment télécharger du contenu.
Pour télécharger du contenu, c'est extrêmement simple. Il suffit de donner un identifiant de fichier à cette fonction et
un répertoire de téléchargement. Cette simple ligne se charge de tout !
- 11 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
1. client.downloadFile(fileId,"/my/target/directory-or-file")
Pour envoyer du contenu, l'opération est simple aussi, il s'agit de la fonction suivante. Cette dernière prend 3
arguments en paramètre.
- Le troisième est le lieu de stockage local du fichier (le path du fichier à envoyer).
1. fileId =
client.uploadFile("mypicture.jpg",folderInfo['id'],"@/my/file/location/mypicture.jpg")
1. #Pour un fichier
2. client.deleteFile(fileId)
3.
4. #Pour un dossier
5. client.deleteFolder(folderId)
Pour créer un répertoire sur le Cloud Orange, il est nécessaire de passer en paramètre à la fonction suivante le nom
du répertoire à créer ainsi que l'identifiant du dossier parent (dans l'arborescende du Cloud).
1. folderInfo = client.createFolder("myfoldername",myFolderId)
Voici un résumé des fonctions disponibles dans le SDK officiel en Python, cependant, libre à vous d'utiliser votre
propre langage, l'API étant une API REST, vous pouvez utiliser n'importe quel langage que vous maîtrisez, ou même
directement cURL.
- 12 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
• JRE ;
• JDK.
Après installation, on démarre Android Studio, puis on clique sur « Import project (Eclipse ADT, Gradle, etc.) »
- 13 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
- 14 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
À ce stade, il est important de remplacer le APP_KEY, le APP_SECRET et le APP_REDIRECT_URI par les clés
d'API donnés dans votre espace client Orange dans le fichier MainActivity.jav :
Maintenant, nous allons vérifier les deux conditions qui font que cela va fonctionner.
Pour que l'utilisateur puisse s'authentifier auprès d'Orange, il est nécessaire d'ajouter ce petit bloc de code en dessous
de la balise <application>, donc juste après le </application>.
1. <activity
2. android:name="com.orange.labs.sdk.activity.AuthActivity"
3. android:launchMode="singleTask"
4. android:configChanges="orientation|keyboard"/>
- 15 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
Vous pouvez lire notre tutoriel, pour en savoir plus sur comment accéder aux données ou contenus personnels d'un
utilisateur via l' « authentification 3-legged ».
On peut également vérifier que notre application Android a bien le droit d'utiliser le réseau Internet, toujours dans le
AndroidManifest.xml. Pour attribuer le droit, voici la ligne de code à rajouter (en-dessous de la section <manifest>,
donc après la balise </manifest>.
1. <uses-permission android:name="android.permission.INTERNET"></uses-permission>
Dans le fichier Activity.java, on rajoute les constantes d'API Orange (fournies à l'étape de l'inscription)
Attention, dans cette partie nous allons traiter de l'authentification de l'API (comprendre que votre application se
connecte aux serveurs Orange) et de l'authentification de l'utilisateur (qui doit lui aussi s'authentifier pour que notre
application puisse utiliser son espace de stockage Cloud). Il est important de ne pas les confondre, aussi, l'utilisateur
doit posséder un espace sur le Cloud Orange. S'il n'en a pas, c'est par ici
Rien d'étonnant, avant d'utiliser l'API, il est nécessaire d'authentifier l'application auprès d'Orange, et ça se fait
simplement :
Comme dans toute API, il est nécessaire de définir un « scope » pour notre accès, dans le fichier AndroidManifest.xml.
Un « scope » est un paramètre qui permet de définir la portée des droits de la demande d'autorisation. Les différents
scopes sont définis dans le Getting Started de l'API Cloud d'Orange.
1. mApi.addScope("Cloud");
Le « scope » dépend de l'utilisation que votre application va avoir avec le Cloud d'Orange.
Il est possible d'utiliser de multiples « scope ». Il suffit de les écrire les uns à la suite des autres avec des espaces.
Par exemple
1. mApi.addScope("Cloud Cloudfullread") ;
- 16 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
Maintenant, il est nécessaire d'authentifier l'utilisateur auprès d'Orange. Pour cela, s'il s'agit de la première connexion
de l'utilisateur, la méthode ouvre une AuthActivity (déclarée dans le AndroidManifest.xml). Cette étape permet
d'authentifier l'utilisateur ainsi que d'autoriser l'accès aux services Cloud d'Orange.
1. mApi.getSession().startAuthentication();
Lors de l'authentification, l'utilisateur est renvoyé vers votre Activity.java. À ce moment, pour finir l'authentification de
l'utilisateur, vous devez compléter votre méthode onResume avec le code suivant.
1. @Override
2. protected void onResume() {
3. super.onResume();
4. // Récupère la session et regarde ou en est le processus d'authentification
5. final AuthSession session = mApi.getSession();
6. session.checkAuthentication(new OrangeListener.Success<String>() {
7. @Override
8. public void onResponse(String response) {
9. // La session est valide, vous pouvez utiliser les fonctions du Cloud Orange.
10. }
11. }, new OrangeListener.Error() {
12. @Override
13. public void onErrorResponse(OrangeAPIException error) {
14. // Il y a eu une erreur lors du processus
15. }
16. });
17. }
Pour lister le contenu d'un répertoire, vous devez passer un objet Entry. Si vous souhaitez récupérer la racine, passez
un null.
Il est aussi possible de souhaiter récupérer uniquement les photos ou les vidéos. Cela est possible avec le paramètre
filter : il peut contenir les valeurs suivantes : [image|video|audio|other].
La liste des paramètres est disponible dans la référence de l'API Cloud d'Orange
- 17 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
1. file_def {
2. id (string, optional),
3. name (string, optional),
4. size (integer, optional),
5. creationDate (date-time, optional),
6. lastUpdateDate (date-time, optional),
7. type (string, optional) = ["FILE" or "PICTURE" or "VIDEO" or "AUDIO"],
8. downloadUrl (string, optional),
9. previewUrl (string, optional),
10. thumbUrl (string, optional),
11. metaData (object, optional)
12. }
Il est important de noter que cette tâche pouvant être longue, elle doit être appelée en tâche de fond, ne pas faire
patienter l'utilisateur durant le processus. Il doit s'agit d'un background ou d'un IntentService.
En rappel, vous devez avant tout développement posséder un Client ID et un Client Token pour pouvoir appeler l'API.
Pour programmer en Swift, vous devez disposer de Xcode et d'un Mac en mode développeur. Pour cela rien de plus
simple, rendez-vous dans l'App Store de votre Mac puis cherchez « Xcode ».
L'installation est simplifiée et vous n'avez rien à faire pour que cela fonctionne.
À présent, rendez-vous sur le lien de téléchargement du SDK Swift de l'API Cloud Orange.
Pour ceux qui utilisent Git, vous pouvez cloner le repo git. Pour cela, ouvrez votre terminal, et lancez successivement
les commandes :
git init
git clone https://github.com/Orange-OpenSource/OrangeCloudIOSSdk.git
Pour les autres, vous pouvez cliquer sur « Download in Zip » comme présenté dans la figure ci-dessous.
- 18 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
Vous vous retrouvez donc avec un répertoire zip à décompresser. Après la décompression, lancer le fichier
« OrangeCloudSDK.xcodeproj ».
Vous êtes à présent dans Xcode. Avec le projet lancé, vous avez l'arborescence suivante :
À ce stade, il est important de remplacer le APP_KEY, le APP_SECRET et le APP_REDIRECT_URI par les clés
d'API donnés dans votre espace client Orange dans le fichier BrowseController.m.
- 19 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
1. (void)viewDidLoad {
2. [super viewDidLoad];
3. self.view.backgroundColor = [UIColor whiteColor];
4.
5. // Créez un objet connexion qui fera la première authentification utilisateur et une session avec l'API Clo
6.
7. self.CloudManager = [[CloudManager alloc] initWithAppKey:@"APP_KEY"
8. appSecret:@"APP_SECRET"
9. redirectURI:@"APP_REDIRECT_URI"];
10.
11. [self.CloudManager setUseWebView:TRUE];
12. [self.CloudManager setForceLogin:TRUE];
13. }
À présent, vous n'avez plus qu'à compiler et démarrer votre simulateur iOS pour obtenir un projet fonctionnel.
Bien que le SDK ait été écrit en Objective-C, ce dernier a été conçu de manière à maximiser la compatibilité avec
Swift. Ainsi, si vous souhaitez utiliser le SDK dans un projet Swift, vous n'avez qu'à ajouter la ligne suivante dans
le bridging header de votre application :
1. #import "CloudManager.h"
L'authentification est automatiquement gérée par le SDK. Aussi, vous n'avez pas à gérer cette partie dans votre code.
La gestion du « scope » est automatique en fonction des usages de votre application. Aussi, cette partie n'a pas
à être gérée dans votre code.
Il s'agit de la classe principale du SDK, cette dernière vous autorise l'accès à l'intégralité des fonctionnalités du Cloud
(Authentification utilisateur, liste des fichiers, informations de fichiers …).
Lors du développement de votre application, vous n'avez qu'à instancier un objet CloudManager avec votre
CLIENT_ID et votre CLIENT_TOKEN dans la vue principale. Ensuite, lorsque l'utilisateur a donné son consentement,
vous pourrez accéder à ses fichiers.
- 20 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/
Découvrir et apprendre à programmer avec l'API Cloud Orange par Orange
1. file_def {
2. id (string, optional),
3. name (string, optional),
4. size (integer, optional),
5. creationDate (date-time, optional),
6. lastUpdateDate (date-time, optional),
7. type (string, optional) = ["FILE" or "PICTURE" or "VIDEO" or "AUDIO"],
8. downloadUrl (string, optional),
9. previewUrl (string, optional),
10. thumbUrl (string, optional),
11. metaData (object, optional)
12. }
Il est important de noter que cette tâche pouvant être longue, elle doit être appelée en tâche de fond, ne pas faire
patienter l'utilisateur durant le processus.
Remerciements Developpez.com
Nous remercions Guillaume Sigui pour la relecture technique et la mise au gabarit, et Malick Seck pour sa relecture
orthographique.
- 21 -
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée
par les droits d'auteur. Copyright ® 2016 Orange. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans
l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://orange.developpez.com/tutoriels/api-cloud-orange/