Google drive api 谷歌驱动器API:从其他帐户导入文件

Google drive api 谷歌驱动器API:从其他帐户导入文件,google-drive-api,httprequest,Google Drive Api,Httprequest,我从帐户a共享了一个文件,帐户B可以只读此文件 在中,我可以很容易地导入它。然后,帐户B如何导入该文件(无需传输) 谢谢。假设您熟悉身份验证,并且对设置经过身份验证的驱动器服务有基本想法。如果没有,请阅读或教程,该教程将帮助您开始使用API 共享文件可由其驱动器内的接收者在共享者的所有权下访问。此类文件不占用您的配额,只有在权限有效的情况下才能访问。所以我假设“导入”是指获得文件的所有权并将其保存在帐户B中 好的,让服务通过身份验证,驱动帐户B的服务。假设帐户B有权访问帐户A中所需的文件。如果没

我从帐户a共享了一个文件,帐户B可以只读此文件

在中,我可以很容易地导入它。然后,帐户B如何导入该文件(无需传输)


谢谢。

假设您熟悉身份验证,并且对设置经过身份验证的驱动器服务有基本想法。如果没有,请阅读或教程,该教程将帮助您开始使用API

共享文件可由其驱动器内的接收者在共享者的所有权下访问。此类文件不占用您的配额,只有在权限有效的情况下才能访问。所以我假设“导入”是指获得文件的所有权并将其保存在帐户B中

好的,让
服务
通过身份验证,驱动帐户B的服务。假设帐户B有权访问帐户A中所需的文件。如果没有,首先

FileId
是要复制的文件的
Id
,而
ParentId
是要复制文件的父目录的
Id
,下面是一种复制共享文件的方法

public void CopyFile(DriveService Service, string FileId, string ParentId)
{
    try
    {
        File FileToCopy = Service.Files.Get(FileId).Execute();

        File copiedFile = new File();
        copiedFile.Title = FileToCopy.Title;
        copiedFile.Parents = new List<ParentReference>() { new ParentReference() { Id = ParentId } };

        Service.Files.Copy(copiedFile, FileToCopy.Id).Execute();
    }
    catch (Exception e)
    {
        MessageBox.Show("An error occurred: " + e.Message);
    }
}
public void CopyFile(DriveService服务、字符串FileId、字符串ParentId)
{
尝试
{
File FileToCopy=Service.Files.Get(FileId.Execute();
File copiedFile=新文件();
copiedFile.Title=FileToCopy.Title;
copiedFile.Parents=new List(){new ParentReference(){Id=ParentId}};
Copy(copiedFile,FileToCopy.Id).Execute();
}
捕获(例外e)
{
MessageBox.Show(“发生错误:+e.Message”);
}
}

你在用哪种语言?我用的是C语言,但我讨厌谷歌硬盘库,然后我用httprequest编写。我是自学C#那就别笑代码了。啊,谢谢你的回复,我可以测试一下,我找到了。它是Parents.insert方法,您的答复是Files.Copy方法(它创建新文件,而不是“导入”)