C#中是否有与gcloud auth应用程序默认打印访问令牌等效的标记?
我目前正在开发一个.net web应用程序,该应用程序使用GCP的automl vision模型服务,我使用RestSharp查询该服务,问题是在一段时间后,我开始从模型中获得未经授权的响应,我目前通过运行C#中是否有与gcloud auth应用程序默认打印访问令牌等效的标记?,c#,google-cloud-platform,gcloud,google-vision,google-cloud-automl,C#,Google Cloud Platform,Gcloud,Google Vision,Google Cloud Automl,我目前正在开发一个.net web应用程序,该应用程序使用GCP的automl vision模型服务,我使用RestSharp查询该服务,问题是在一段时间后,我开始从模型中获得未经授权的响应,我目前通过运行 gcloud auth application-default print-access-token 在CMD中,并在请求中手动复制和粘贴令牌,如下所示: var request = new RestRequest(Method.POST); request.AddHeader("auth
gcloud auth application-default print-access-token
在CMD中,并在请求中手动复制和粘贴令牌,如下所示:
var request = new RestRequest(Method.POST);
request.AddHeader("authorization", "Bearer " + "I paste it here" );
request.AddJsonBody(new {
payload = new {
image = new
{
imageBytes = base64
}
}
});
有没有办法在C#中自动执行此操作?
如果没有,在这个模型中,什么是正确的身份验证方法?您最好使用Google的.NET auth库以编程方式管理OAuth流和凭据的使用。然后,您可以返回到对API进行REST调用 建议:创建一个服务帐户(具有适当的权限)并将其用于auth,而不是您正在执行的用户帐户
不幸的是,谷歌似乎没有为AuthML for.NET提供云客户端库(/-ies)。您应该通过在上提交一个问题来纠缠Google Engineering,最好使用Google的.NET auth库以编程方式管理OAuth流和凭据的使用。然后,您可以返回到对API进行REST调用 建议:创建一个服务帐户(具有适当的权限)并将其用于auth,而不是您正在执行的用户帐户
不幸的是,谷歌似乎没有为AuthML for.NET提供云客户端库(/-ies)。你应该通过在上提交一个问题来缠着谷歌工程部去做这件事,我可以用这个绕过它 只要在将来有人需要时使用此代码即可:
GoogleAutoMLVisionClient automlClient = new GoogleAutoMLVisionClient("<My credentials.json>");
ICollection<PredictResult> automlResponses = automlClient.Predict("My endpoint:predict", file.OpenReadStream()).Result.payload;
foreach(PredictResult automlResult in automlResponses)
{
Debug.WriteLine("Name: " + automlResult.displayName + "Score:" + automlResult.classification.score.ToString());
}
GoogleAutoMLVisionClient automlClient=新的GoogleAutoMLVisionClient(“”);
ICollection automlResponses=automlClient.Predict(“我的端点:Predict”,file.OpenReadStream()).Result.payload;
foreach(PredictResult automlResult in automlResponses)
{
Debug.WriteLine(“名称:+automlResult.displayName+”分数:+automlResult.classification.Score.ToString());
}
我可以通过使用此
只要在将来有人需要时使用此代码即可:
GoogleAutoMLVisionClient automlClient = new GoogleAutoMLVisionClient("<My credentials.json>");
ICollection<PredictResult> automlResponses = automlClient.Predict("My endpoint:predict", file.OpenReadStream()).Result.payload;
foreach(PredictResult automlResult in automlResponses)
{
Debug.WriteLine("Name: " + automlResult.displayName + "Score:" + automlResult.classification.score.ToString());
}
GoogleAutoMLVisionClient automlClient=新的GoogleAutoMLVisionClient(“”);
ICollection automlResponses=automlClient.Predict(“我的端点:Predict”,file.OpenReadStream()).Result.payload;
foreach(PredictResult automlResult in automlResponses)
{
Debug.WriteLine(“名称:+automlResult.displayName+”分数:+automlResult.classification.Score.ToString());
}