Google cloud platform 我应该如何设置“设置”;范围“;从ServiceAccountData创建ServiceAccountCredential时
我需要将凭据范围设置为访问 我的代码是这样的Google cloud platform 我应该如何设置“设置”;范围“;从ServiceAccountData创建ServiceAccountCredential时,google-cloud-platform,oauth-2.0,service-accounts,Google Cloud Platform,Oauth 2.0,Service Accounts,我需要将凭据范围设置为访问 我的代码是这样的 ServiceAccountCredential saCredential; using (var fs = new FileStream(@"C:\work\ConsoleApp2\google_credentials\foo.json", FileMode.Open, FileAccess.Read)) { saCredential = ServiceAccountCre
ServiceAccountCredential saCredential;
using (var fs = new FileStream(@"C:\work\ConsoleApp2\google_credentials\foo.json", FileMode.Open, FileAccess.Read))
{
saCredential = ServiceAccountCredential.FromServiceAccountData(fs);
}
//saCredential.Scopes = new List<string> { "" };
var accessToken = saCredential.GetAccessTokenForRequestAsync().Result;
GoogleCredential credential = GoogleCredential.GetApplicationDefault();
credential = credential.CreateScoped(new List<string>() { "https://www.googleapis.com/auth/compute" });
var dataflowService = new DataflowService(new Google.Apis.Services.BaseClientService.Initializer()
{
HttpClientInitializer = credential
});
ServiceAccountCredential神圣的;
使用(var fs=new FileStream(@“C:\work\ConsoleApp2\google\u credentials\foo.json”、FileMode.Open、FileAccess.Read))
{
saCredential=ServiceAccountCredential.FromServiceAccountData(fs);
}
//Scopes=新列表{“”};
var accessToken=saCredential.GetAccessTokenForRequestAsync().Result;
如何设置范围?现在我明白了
TokenResponseException:错误:“无效的_作用域”,描述:“提供的OAuth作用域或ID令牌访问群体无效。”
Scopes属性是只读的我成功地做到了这一点
ServiceAccountCredential saCredential;
using (var fs = new FileStream(@"C:\work\ConsoleApp2\google_credentials\foo.json", FileMode.Open, FileAccess.Read))
{
saCredential = ServiceAccountCredential.FromServiceAccountData(fs);
}
//saCredential.Scopes = new List<string> { "" };
var accessToken = saCredential.GetAccessTokenForRequestAsync().Result;
GoogleCredential credential = GoogleCredential.GetApplicationDefault();
credential = credential.CreateScoped(new List<string>() { "https://www.googleapis.com/auth/compute" });
var dataflowService = new DataflowService(new Google.Apis.Services.BaseClientService.Initializer()
{
HttpClientInitializer = credential
});
GoogleCredential-credential=GoogleCredential.GetApplicationDefault();
credential=credential.createScope(新列表(){”https://www.googleapis.com/auth/compute" });
var dataflowService=新的dataflowService(新的Google.api.Services.BaseClientService.Initializer()
{
HttpClientInitializer=凭证
});
我成功地做到了
ServiceAccountCredential saCredential;
using (var fs = new FileStream(@"C:\work\ConsoleApp2\google_credentials\foo.json", FileMode.Open, FileAccess.Read))
{
saCredential = ServiceAccountCredential.FromServiceAccountData(fs);
}
//saCredential.Scopes = new List<string> { "" };
var accessToken = saCredential.GetAccessTokenForRequestAsync().Result;
GoogleCredential credential = GoogleCredential.GetApplicationDefault();
credential = credential.CreateScoped(new List<string>() { "https://www.googleapis.com/auth/compute" });
var dataflowService = new DataflowService(new Google.Apis.Services.BaseClientService.Initializer()
{
HttpClientInitializer = credential
});
GoogleCredential-credential=GoogleCredential.GetApplicationDefault();
credential=credential.createScope(新列表(){”https://www.googleapis.com/auth/compute" });
var dataflowService=新的dataflowService(新的Google.api.Services.BaseClientService.Initializer()
{
HttpClientInitializer=凭证
});