提问人:Dev Beginner 提问时间:11/7/2023 最后编辑:marc_sDev Beginner 更新时间:11/7/2023 访问量:18
Google 工作表数据读取在 Visual Studio 上有效,但在服务器上不起作用
Google sheet data reading works on Visual Studio, but it's not working on the server
问:
在我的 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);
}
}
答: 暂无答案
评论