0
我正在使用服務帳戶訪問我們的域用戶的Google雲端硬盤,這種方式就像一種魅力!不過,我現在試圖使用相同的服務帳戶來獲取Google驅動器中的用戶活動。Google活動api服務帳戶403
我已授予服務帳戶的API訪問https://www.googleapis.com/auth/activity和https://www.googleapis.com/auth/drive
,並啓用API!
但是我總是得到錯誤403,禁止!
static AppsactivityService BuildService(String userEmail)
{
X509Certificate2 certificate = new X509Certificate2(SERVICE_ACCOUNT_PKCS12_FILE_PATH,
"notasecret", X509KeyStorageFlags.Exportable);
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(SERVICE_ACCOUNT_EMAIL)
{
Scopes = new[] { AppsactivityService.Scope.Drive },
User = userEmail
}.FromCertificate(certificate));
// Create the service.
var service = new AppsactivityService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "mytest app",
});
return service;
}
private void button1_Click(object sender, EventArgs e)
{
var service = BuildService("[email protected]");
ActivitiesResource.ListRequest listRequest = service.Activities.List();
listRequest.Source = "drive.google.com";
listRequest.DriveAncestorId = "root";
listRequest.PageSize = 10;
IList<Activity> activities = listRequest.Execute().Activities;
Console.WriteLine("Activities:");
}
也許需要一些時間來使https://www.googleapis.com/auth/activity
找到答案...只是服務中的一個愚蠢的錯字將AppsactivityService.ScopeDrive更改爲AppsactivityService.Scope.Activity thx! – markus
Markus,隨時可以添加修復程序作爲解決方案,這樣我們就可以感受到這個問題已經得到解決,其他人可以看到你是如何解決它的。 – peleyal