Получение ошибки сервера при динамической ссылке Firebase CreateManagedShortLinkRequest с клиентом Ruby

Я пытаюсь создать динамическую ссылку с помощью 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 на самом деле принимает больше параметров. В приведенном выше примере я также заменил наш реальный префикс firebase на example, но у меня есть реальный префикс firebase, который я использую, и генерация ссылок непосредственно из интерфейсной консоли Firebase действительно работает.

Я обновил свой SDK Google до последней версии - google-api-client-0.30.3


person Cyril Duchon-Doris    schedule 26.06.2019    source источник


Ответы (1)


К сожалению, создание управляемых коротких ссылок через REST API в настоящее время не поддерживается.

Как указано здесь кем-то, кто работает (ред) в самой команде динамических ссылок.

На данный момент мы можем использовать только CreateShortDynamicLinkRequest, однако эта конечная точка не позволяет указывать custom_suffix (т.е. https://example.com/my-custom-suffix)

person Waclock    schedule 29.04.2020