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:固定,謝謝。 –