使用Ruby客户端在Firebase动态链接CreateManagedShortLinkRequest上获取服务器错误

问题描述 投票:1回答:1

我正在尝试使用Ruby SDK创建动态链接。我相信我没事,但是我得到了

Google :: Apis :: ServerError:服务器错误

创建URL时

您能帮我弄清楚我的缺失/做错什么吗,还是这是Google的问题?

假设我已经生成了请求适当范围的Oauth凭据,我在做

request = ::Google::Apis::FirebasedynamiclinksV1::CreateManagedShortLinkRequest.new(
  dynamic_link_info: ::Google::Apis::FirebasedynamiclinksV1::DynamicLinkInfo.new(
    domain_uri_prefix: Rails.application.secrets.firebase_dynamic_link_prefix,
    link: campaign.linkedin_url,
  ),
  suffix: ::Google::Apis::FirebasedynamiclinksV1::Suffix.new(
    option: 'SHORT',
  ),
  # name: "Linkedin acquisition URL of #{camp.utm_campaign_name} for #{camp.contractor.name} <#{camp.contractor.email}>",
  name: "Test of generation",
)
# => <Google::Apis::FirebasedynamiclinksV1::CreateManagedShortLinkRequest:0x000021618baa88 
#   @dynamic_link_info=#<Google::Apis::FirebasedynamiclinksV1::DynamicLinkInfo:0x000021618bad80 
#     @domain_uri_prefix="https://example.page.link", 
#     @link="https://www.example.com/?invitation_code=example&signup=example&utm_campaign=example&utm_medium=example&utm_source=example">, 
#   @name="Test of generation", 
#   @suffix=#<Google::Apis::FirebasedynamiclinksV1::Suffix:0x000021618babf0 
#     @option="SHORT">
# >
link_service.create_managed_short_link(request)

def link_service
  @link_service ||= begin
    svc = ::Google::Apis::FirebasedynamiclinksV1::FirebaseDynamicLinksService.new
    svc.authorization = oauth_service.credentials
    svc
  end
end

我知道OAuth范围似乎可以像以前一样正常工作

[Google :: Apis :: ClientError:禁止:请求的身份验证范围不足。

但是我在增加OAuth范围以覆盖firebase之后修复了它。另外,我的要求似乎是正确的,因为当我尝试省略其中一个参数(例如name)时,出现了类似的验证错误,例如

Google :: Apis :: ClientError:badRequest:创建的托管动态链接必须具有名称

我唯一的提示是create_managed_short_link实际上需要更多参数。在上面给出的示例中,我还用example替换了我们的真实Firebase前缀,但我拥有自己正在使用的真实Firebase前缀,并且直接从Firebase前端控制台生成链接确实有效。

我已将我的google sdk更新为最新版本-google-api-client-0.30.3

firebase google-api firebase-dynamic-links google-api-ruby-client
1个回答
0
投票

不幸的是,当前不支持通过REST API生成托管的短链接。

正如在动态链接团队中工作的某人所说的here

目前,我们只能使用CreateShortDynamicLinkRequest,但是此端点不允许指定custom_suffix(即https://example.com/my-custom-suffix

© www.soinside.com 2019 - 2024. All rights reserved.