firebase "длинная ссылка не разбирается" - PullRequest
0 голосов
/ 11 июня 2018

Я хочу сократить longLink с помощью firebase и REST API, но я получаю следующий ответ, и я не знаю, что не так:

Ответ:

   {
        "error": {
            "code": 400,
            "message": "Long link is not parsable: https://www.google.de [https://firebase.google.com/docs/dynamic-links/rest#create_a_short_link_from_parameters]",
            "status": "INVALID_ARGUMENT"
        }
    }

И этоВот как я это делаю:

Запрос: https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=(hereismyapikey)

Тело выглядит так:

{
   "longDynamicLink": "https://www.google.de",
   "suffix": {
    "option": "SHORT"
  }
}

Сначала я попытался с реальным URL, который я хочу сократить,Та же ошибкаЧем с Google и с и без http (s).У меня нет выбора, и я надеюсь, что кто-нибудь увидит, что я здесь сделал неправильно.

РЕДАКТИРОВАТЬ: Полный запрос почтальона:

    "item": [
            {
                "name": "shortLinks",
                "request": {
                    "method": "POST",
                    "header": [
                        {
                            "key": "Content-Type",
                            "value": "application/json"
                        }
                    ],
                    "body": {
                        "mode": "raw",
                        "raw": "{\r\n   \"longDynamicLink\": \"www.google.de\",\r\n   \"suffix\": {\r\n    \"option\": \"SHORT\"\r\n  }\r\n}"
                    },
                    "url": {
                        "raw": "https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=xxx",
                        "protocol": "https",
                        "host": [
                            "firebasedynamiclinks",
                            "googleapis",
                            "com"
                        ],
                        "path": [
                            "v1",
                            "shortLinks"
                        ],
                        "query": [
                            {
                                "key": "key",
                                "value": "xxx"
                            }
                        ]
                    }
                },
                "response": []
        }
    ]

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Я считаю, что метод параметров JSON проще.

var body = {
  "dynamicLinkInfo": {
    "dynamicLinkDomain": "yourcustom.page.link",
    "link": fileUrl
  },
  "suffix": {
    "option": "SHORT"
  }
};

Тогда, если вы используете Node.Вызов REST пакета node-fetch будет работать следующим образом:

  var fetchFileUrl = fetch(YOUR_SHORTLINK_URL, { 
      method: 'POST',
      body: JSON.stringify(body),
      headers: { 'Content-Type': 'application/json' },
  }).then(function(response){
    return response.json();
  });
0 голосов
/ 11 июня 2018

Вы используете простой метод для создания динамической ссылки, который примерно равен ручному созданию динамической ссылки: https://firebase.google.com/docs/dynamic-links/create-manually

В документах, если вы внимательно увидите ссылку, переданную в примере, вы увидитешаблон, как показано ниже:

https://your_subdomain.page.link/?link=your_deep_link&apn=package_name[&amv=minimum_version][&afl=fallback_link]

Таким образом, вы должны отформатировать входную ссылку в соответствии с этим или создать, используя параметры, которые имеют очень хорошую разбивку параметров в json:

https://firebase.google.com/docs/dynamic-links/rest#create_a_short_link_from_parameters

Вот справочник API для создания динамической ссылки firebase из параметров:

https://firebase.google.com/docs/reference/dynamic-links/link-shortener#parameters

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...