다음 코드를 사용하여 시스템 로그인 (도메인 전체 인증)을 통해 사용자를 대행합니다. 이 작업을 수행하는 유일한 예는 리플렉션을 사용하여 사용자를 설정하는 것입니다. 나는이 사람이 해결해야하는 방법의 예 좀 도와 수 있다면 그래서 내가 궁금해서이 작업을 수행 할 수있는 적절한 방법이 아니다 알고시스템 계정에서 사용자에 대한 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,
});
은 매력처럼 작동합니다. 2 개의 작은 오류. GOOGLE_CALENDAR_USERNAME 및 ServiccAccountCredential misspelt 이후에 쉼표가 누락되었습니다. –
@LinusNikander : 고마워요. –