因此,我一直在尝试将iOS应用中的音频/视频文件上传到Google Cloud Server。 我希望用户在上传之前不必登录到他们的Google帐户。 目前,我的工作解决方案是让服务器上的存储桶“打开”,基本上每个人都可以在互联网上使用 来读取/写入存储桶。 我将在iOS API密钥我GTLServiceStorage对象:使用iOS应用服务帐户上传到Google Cloud Storage
_serviceStorage.additionalHTTPHeaders = HTTP_HEADERS;
_serviceStorage.APIKey = kCloudBackendAPIKey;
这种方式,从应用程序中的用户应该能够在不登录上传。
现在,我希望存储区是专用的,因此只有授权应用程序的用户才能访问它。
在Android上, 我可以使用我从服务器生成的证书执行此操作,并通过Google文档页面中的示例将其实施到Android项目文件 。 (使用服务帐户ID & PKCS12文件)。 Android上的代码来设置凭据是这样的:
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
然而,现在我似乎无法找到一个方法来实现相同的机制为我的iOS应用。有什么方法可以使用谷歌服务帐户ID在iOS应用程序中上传文件,这样用户不必首先登录到他们的goolge帐户?
@adipurnama嗨,你找到了解决这个问题呢?我有同样的问题。 –
adipurnama,cuGoku>您的Android Mobile App中是否包含私钥文件(.p12)文件和密码?如果是,那是安全的吗? – Jasper
任何解决方案?谢谢... –