c# - 调用动态链接分析 API 时调用者没有权限 [403]
问题描述
我正在尝试使用该方法通过动态链接分析 API 获取动态链接统计信息FirebaseDynamicLinksService.V1.GetLinkStats()
...我能够轻松创建一个短链接并且它可以工作...但问题是获取有关此动态链接的统计信息。
我得到 403:“Google.Apis.Requests.RequestError 调用者没有权限 [403] 错误 [消息[调用者没有权限] 位置 [-] 原因 [禁止] 域 [全局]]”
有什么我想念的吗?我试图遵循这个https://firebase.google.com/docs/reference/dynamic-links/analytics
我的代码基本上是这样的:
var googleCredential = GoogleCredential.FromFile(shortLinkServiceConfiguration.KeyFileName).CreateScoped($"https://www.googleapis.com/auth/firebase");
var dynamicLinksService = new FirebaseDynamicLinksService(new Google.Apis.Services.BaseClientService.Initializer
{
HttpClientInitializer = googleCredential,
ApplicationName = shortLinkServiceConfiguration.ApplicationName
});
var request = dynamicLinksService.ShortLinks.Create(createShortDynamicLinkRequest);
request.AccessToken = googleCredential.UnderlyingCredential.GetAccessTokenForRequestAsync().Result;
// This works and I get the short link
var response = request.Execute();
var secondRequest = dynamicLinksService.V1.GetLinkStats(response.ShortLink);
secondRequest.AccessToken = googleCredential.UnderlyingCredential.GetAccessTokenForRequestAsync().Result;
secondRequest.DurationDays = 7;
// This does not work and I get 403
var secondResponse = secondRequest.Execute();
解决方案
所以在这里的帮助下:https ://github.com/googleapis/google-api-dotnet-client/issues/1448
通过在服务帐户中添加“Firebase Grow Viewer”角色解决了这个问题......
推荐阅读
- java - BeanCurrentlyInCreationException 请求的 bean 当前正在创建中:是否存在无法解析的循环引用?
- typo3 - TYPO3:$GLOBALS['TYPO3_CONF_VARS']['SYS']['environment'] 定义在哪里?
- java - 在机器人中测试时,Java webapp 代码返回路径遍历问题
- c++ - 为什么我不能使用 vs 2015、vs2017、vs2019 在我的 Windows 上创建 VC++ 空项目
- ionic-framework - 如何在 IONIC 4 中删除离子复选框背景和边框颜色?
- javascript - html-javascript追加无效
- android - 在为 RTL 手动设计的旧布局上支持 RTL
- python - 将表单更改为搜索框
- reactjs - React Redux 动态模块加载模块,promise instated of state
- java - 有没有办法制作通用抽象映射器
在 JAVA 中?