我正在尝试使用Ruby SDK创建动态链接。我相信我没事,但是我得到
Google :: Apis :: ServerError:服务器错误
创建网址时
您能帮我弄清楚我的缺失/做错什么吗,还是这是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
答案 0 :(得分:0)
不幸的是,当前不支持通过REST API生成托管的短链接。
here如在动态链接团队中工作的某人所述。
目前我们只能使用CreateShortDynamicLinkRequest
,但是此终结点不允许指定custom_suffix
(即https://example.com/my-custom-suffix)