J'ai donc essayé de télécharger des fichiers audio/vidéo depuis l'application iOS vers Google Cloud Server. Je souhaite que l'utilisateur ne doive pas se connecter à son compte Google avant de le télécharger. Actuellement, mes solutions de travail est de rendre le seau sur le serveur "ouvert", qui est essentiellement disponible pour chaque personne sur Internet pour lire/écrire le seau. Je mis clé API à mon objet GTLServiceStorage sur iOS:Télécharger sur Google Cloud Storage à l'aide du compte de service de l'application iOS
_serviceStorage.additionalHTTPHeaders = HTTP_HEADERS;
_serviceStorage.APIKey = kCloudBackendAPIKey;
De cette façon, l'utilisateur à partir de l'application devrait être en mesure de télécharger sans connexion.
Maintenant, je souhaite que le compartiment soit privé afin que seul un utilisateur de l'application autorisée puisse y accéder.
Sur Android, Je peux le faire en utilisant le certificat que je génère à partir du serveur et l'implémenter aux fichiers de projet Android à travers l'exemple de la page de documentation de Google. (À l'aide de l'ID de compte de service & fichiers PKCS12). Le code sur Android pour définir les informations d'identification est comme ceci:
KeyStore keystore = KeyStore.getInstance("PKCS12");
keystore.load(getResources().openRawResource(R.raw.secret), MY_PASSWD.toCharArray());
PrivateKey key = (PrivateKey) keystore.getKey("privatekey", MY_PASSWD.toCharArray());
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(SERVICE_ACCOUNT_ID)
.setServiceAccountScopes(scopes)
.setServiceAccountPrivateKey(key)
.build();
storage = new Storage.Builder(httpTransport, jsonFactory, credential)
.setApplicationName(APP_NAME).build();
// --- continue upload using storage
Cependant, pour l'instant je ne peux pas sembler trouver un moyen de mettre en œuvre le même mécanisme dans mon application iOS. Est-il possible d'utiliser l'identifiant de compte google service pour télécharger des fichiers dans l'application iOS afin que l'utilisateur ne doive pas d'abord se connecter à son compte goolge?
Salut @adipurnama, vous avez trouvé la solution à ce problème encore? J'ai le même problème. –
adipurnama, cuGoku> Avez-vous inclus le fichier de fichier de clé privée (.p12) et le mot de passe dans votre application mobile Android? Si oui, est-ce sécuritaire? – Jasper
une solution? merci ... –