Google drive api 试图让Google Drive使用PCL Xamarin表单应用程序

Google drive api 试图让Google Drive使用PCL Xamarin表单应用程序,google-drive-api,xamarin.forms,Google Drive Api,Xamarin.forms,我正在使用Xamarin表单做一些跨平台的应用程序,我想提供DropBox和GoogleDrive作为用户可以进行备份、跨平台数据共享等的地方。我能够让DropBox正常工作,而不用做特定于平台的shenanagins,但Google Drive真的让我感到很舒服。我在Google上正确地安装了我的应用程序,并使用常规的CLI.NET应用程序对其进行了测试,使用他们的示例从驱动器上读取JSON文件并创建临时凭据文件——一切都很好,但要在不访问文件系统的情况下运行该应用程序是很难实现的,我找不到任

我正在使用Xamarin表单做一些跨平台的应用程序,我想提供DropBox和GoogleDrive作为用户可以进行备份、跨平台数据共享等的地方。我能够让DropBox正常工作,而不用做特定于平台的shenanagins,但Google Drive真的让我感到很舒服。我在Google上正确地安装了我的应用程序,并使用常规的CLI.NET应用程序对其进行了测试,使用他们的示例从驱动器上读取JSON文件并创建临时凭据文件——一切都很好,但要在不访问文件系统的情况下运行该应用程序是很难实现的,我找不到任何关于如何进行的示例它

我目前只是使用Auth0作为网关,允许用户为他们的帐户提供对我的应用程序的信任/访问,这非常有效,需要适当的范围项(我只是使用只读文件访问进行测试)–我从他们那里得到了一个承载令牌和刷新令牌–然而,当试图实际使用该数据并只列出一个简单的文件时,我得到了一个400错误的请求错误

我相信这一定是可能的,但我找不到任何与使用从谷歌下载的JSON文件并创建凭证文件有丝毫不同的例子——当然,您可以创建一个仅使用承载令牌的DriveService对象实例

无论如何——这里有一段测试代码,我正试图配置driveService对象——如果有人这样做过,或者有关于在这里尝试什么的建议,我将非常感谢您的想法

public bool AuthenticationTest(string pBearerToken)
        {
            try
            {
                var oInit = new BaseClientService.Initializer
                {
                    ApplicationName = "MyApp",
                    ApiKey = pBearerToken,
                };

                _googleDrive = new DriveService(oInit);

                FilesResource.ListRequest listRequest = _googleDrive.Files.List();
                listRequest.PageSize = 10;
                listRequest.Fields = "nextPageToken, files(id, name)";

//All is well till this call to list the files…     
                IList<Google.Apis.Drive.v3.Data.File> files = listRequest.Execute().Files;

                foreach (var file in files)
                {
            Debug. WriteLine(file.Name);
                }
            }
            catch (Exception ex)
            {
                RaiseError(ex);
            }
}
public bool AuthenticationTest(字符串pbealertoken)
{
尝试
{
var oInit=new BaseClientService.Initializer
{
ApplicationName=“MyApp”,
ApiKey=pbealertoken,
};
_googleDrive=新的驱动服务(oInit);
FileResource.ListRequest ListRequest=\u googleDrive.Files.List();
listRequest.PageSize=10;
listRequest.Fields=“nextPageToken,files(id,name)”;
//一切都很好,直到这次调用列出文件…
IList files=listRequest.Execute().files;
foreach(文件中的var文件)
{
Debug.WriteLine(file.Name);
}
}
捕获(例外情况除外)
{
RaiseError(ex);
}
}

你找到了这个问题的答案吗?我也在寻找如何实现这一目标。如果你找到了解决方案,请分享一些代码。你有没有找到任何答案?我也在寻找如何实现这一目标。如果您找到解决方案,请共享一些代码