Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 读取谷歌驱动器文件_Android - Fatal编程技术网

Android 读取谷歌驱动器文件

Android 读取谷歌驱动器文件,android,Android,我在我的谷歌硬盘中保存了一些序列化的对象集合作为一个文件。现在我想在我的android应用程序中检索收藏。有什么简单的方法可以做到这一点吗?谷歌已经为此创建了一个api。如果只是供您使用(相对于允许其他google用户访问),您可以将自己授权为服务帐户(),这将使您的应用程序能够访问您的驱动器帐户 然后需要构建一个应用程序来完成任务。根据您所描述的内容,您的工作流程将类似于读取驱动器文件、选择所需文档以及处理所需信息。你会想深入了解他们的api,他们将api分为几个组件,包括驱动器、工作表、文档

我在我的谷歌硬盘中保存了一些序列化的对象集合作为一个文件。现在我想在我的android应用程序中检索收藏。有什么简单的方法可以做到这一点吗?

谷歌已经为此创建了一个api。如果只是供您使用(相对于允许其他google用户访问),您可以将自己授权为服务帐户(),这将使您的应用程序能够访问您的驱动器帐户

然后需要构建一个应用程序来完成任务。根据您所描述的内容,您的工作流程将类似于读取驱动器文件、选择所需文档以及处理所需信息。你会想深入了解他们的api,他们将api分为几个组件,包括驱动器、工作表、文档和gmail。以下是一些资源:

应用程序的外观如下(在python中):


使您的文件世界可读。获取它的url。并使用Android的httpurlconnection或OkHttpI将其公开。我是否需要client_id.json和stored.credential文件,因为我使用它们从我的web应用程序创建文件,或者因为文件是公共文件,所以android应用程序不需要这些凭据?我希望使用我的android应用程序的任何人都可以访问该文件,而无需任何中间身份验证步骤。实际上,我要在我的android应用程序中读取文件的内容。我不打算保存android用户手机上的文件。如果是公用文件,您不需要任何凭据。我是否可以在我的android应用程序中创建不带凭据的公用文件列表?您的意思是查询驱动器中的文件并显示它们-否。我从我的Java Spring web应用程序中获取文件列表。我将在Android Java上试用它。
from googleapiclient.discovery import build
from google.oauth2 import service_account

SCOPES = [
    'https://www.googleapis.com/auth/drive',
    'https://www.googleapis.com/auth/documents',
]

SERVICE_ACCOUNT_FILE = 'credentials.json'
DOCUMENT_ID = '123adsb' # get this from the google doc url 


def get_credentials():
    return service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)


CREDENTIALS = get_credentials()
DRIVE = build('drive', 'v3', credentials=CREDENTIALS)
DOCS = build('docs', 'v1', credentials=CREDENTIALS)

def get_file(): # copy file from drive
    document = DOCS.get(documentId=DOCUMENT_ID).execute()
    print(dir(document)) # process document

if __name__ == '__main__':
    get_file()