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=凭证
});