Google 工作表数据读取在 Visual Studio 上有效,但在服务器上不起作用

Google sheet data reading works on Visual Studio, but it's not working on the server

提问人:Dev Beginner 提问时间:11/7/2023 最后编辑:marc_sDev Beginner 更新时间:11/7/2023 访问量:18

问:

在我的 ASP.NET 项目中,我创建了从 Google 工作表中获取一些数据,读取工作表数据。

当我从 Visual Studio 运行时,它第一次打开 Google 身份验证并询问我的电子邮件地址和密码。

我提供的地址与我授予 Google 表格访问权限的地址相同。

然后它开始正常工作。因此,我完成了我的项目并将其上传到 Azure 服务器。

从那里,我尝试在浏览器上运行系统,然后身份验证窗口没有打开,并且没有从工作表中获取数据。

可能是什么问题?

这是我的控制器代码

private static UserCredential Login(string googleClientID,string googleClientSecret, string[] scopes)
{
    ClientSecrets secrets = new ClientSecrets();
            {
                secrets.ClientId = googleClientID;
                secrets.ClientSecret = googleClientSecret;
            };

    return GoogleWebAuthorizationBroker.AuthorizeAsync(secrets, scopes ,user:"User",CancellationToken.None).Result;
}
public ActionResult getStaffMembers() 
{
    try 
    {
        string googleClientID = "clientIDGoesHere.apps.googleusercontent.com";
        string googleClientSecret = "secretIDgoeshere";
        string[] scopes = new [] {
             Google.Apis.Sheets.v4.SheetsService.Scope.Spreadsheets
        };

        UserCredential credential = Login(googleClientID, googleClientSecret, scopes);

        GoogleSheetManager manager = new GoogleSheetManager(credential);

        var mySpreadSheetID = "spredsheetIDGoesHere";
        var spreadSheet = manager.GetSpreadsheet(mySpreadSheetID);

        string staffMembers = "Staff!A2:A16";
 
        string[] valueRange = new [] { staffMembers };
        var multipleResponse = manager.GetMultipleValues(mySpreadSheetID, valueRange);
        var StaffMemberRange = multipleResponse.ValueRanges.ElementAt(0);

        List<StaffViewModel> records = new List<StaffViewModel>();

        for (int i = 0; i < StaffMemberRange.Values.Count; i++) 
        {
            StaffViewModel staffViewModel = new StaffViewModel();
            staffViewModel.Staff_Name = StaffMemberRange.Values[i].First().ToString();
            records.Add(staffViewModel);
        }
        return Json(new { Success = true, StaffList = records }, JsonRequestBehavior.AllowGet);
    } 
    catch (Exception ex) 
    {
        Console.WriteLine("Exception: " + ex.Message);
        return Json(new { Success = false }, JsonRequestBehavior.AllowGet);
    }
}
asp.net-mvc-4 谷歌表格 api

评论


答: 暂无答案