2
我使用以下代码通过系统登录名(域范围验证)代表用户执行操作。我发现的唯一例子是使用反射来设置用户。我知道这是不是做到这一点,所以我在想,如果有人可以帮助我的这个应该怎么解决的例子有道从系统帐户为用户创建ServiceAccountCredential
ServiceAccountCredential credential =
GoogleCredential.FromJson(GOOGLE_SYSTEM_USER_AUTH_INFORMATION)
.CreateScoped(Scopes)
.UnderlyingCredential as ServiceAccountCredential;
var userField = typeof(ServiceAccountCredential).GetField("user",
BindingFlags.NonPublic | BindingFlags.Instance);
userField?.SetValue(credential, GOOGLE_CALENDAR_USERNAME); //Act in the guise of the normal user GOOGLE_CALENDAR_USERNAME
service = new CalendarService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = ApplicationName,
});
工程就像一个魅力。两个小错误,在GOOGLE_CALENDAR_USERNAME和ServiccAccountCredential拼错后丢失逗号。 –
@LinusNikander:固定,谢谢。 –