我正在尝试在编写一个小程序时了解Google的Drive API。我使用GoogleWebAuthorizationBroker类来要求用户授予应用权限,但缺点是它会自动在Chrome中打开一个新的浏览器标签(例如):
const string ApplicationName = "TestApp";
string[] scopes = { DriveService.Scope.Drive };
UserCredential credential;
using (var stream =
new FileStream("client_secret.json", FileMode.Open, FileAccess.Read))
{
string credPath = System.Environment.GetFolderPath(
System.Environment.SpecialFolder.Personal);
credPath = Path.Combine(credPath, ".credentials/drive-dotnet-quickstart");
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
scopes,
"user",
CancellationToken.None,
new FileDataStore(credPath, true)).Result;
Console.WriteLine("Credential file saved to: " + credPath);
}
我想知道是否有办法获取AuthorizationURL,以便我可以显示一个浏览器对话框,从而获得相应的令牌。
怎么办?提前谢谢。
答案 0 :(得分:1)
目前,客户端库的编写方式将自动在默认浏览器中打开它。
此功能已存在问题请求。 GoogleWebAuthorizationBroker in embedded browser? #547
回答:目前无法获取授权网址,因此您可以自行播放对话框。客户端库是一个开源项目,因此您可以添加它。