Firebase 动态链接 REST API 返回 400 错误请求
Posted
技术标签:
【中文标题】Firebase 动态链接 REST API 返回 400 错误请求【英文标题】:Firebase dynamic links REST API returns 400 bad request 【发布时间】:2020-06-03 10:29:44 【问题描述】:我正在尝试使用 firebase 为动态链接提供的 REST API
在 node
中为我的移动应用创建动态链接。
我关注了这些instructions
我正在使用axios
发送我的发帖请求
这是我的代码:
...
const link = await axios(
method: 'post',
url: 'https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=myApikey',
headers:
'Content-Type' : 'application/json',
,
data:
domainUriPrefix: 'https://threadsapp.page.link',
link: `https://threads-1511.web.app/threads/$tweet.id_str`,
iosInfo:
iosBundleId: 'com.bundleId',
iosAppStoreId: '1512677811',
iosIpadBundleId: 'com.bundleId',
,
androidInfo:
androidPackageName: 'com.bundleId',
,
socialMetaTagInfo:
socialTitle: `A thread by $tweet.user.name`,
socialDescription: `$tweet.full_text`,
socialImageLink: 'https://firebasestorage.googleapis.com/v0/b/threads-1511.appspot.com/o/playstore.png?alt=media&token=896f4fe6-2882-442e-b15c-3767d61b8a70',
,
suffix:
option: 'SHORT',
,
);
...
这是response
:
response:
status: 400,
statusText: 'Bad Request',
headers:
vary: 'X-Origin, Referer, Origin,Accept-Encoding',
'content-type': 'application/json; charset=UTF-8',
date: 'Wed, 03 Jun 2020 10:16:24 GMT',
server: 'ESF',
'cache-control': 'private',
'x-xss-protection': '0',
'x-frame-options': 'SAMEORIGIN',
'x-content-type-options': 'nosniff',
'alt-svc': 'h3-27=":443"; ma=2592000,h3-25=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"',
'accept-ranges': 'none',
connection: 'close',
'transfer-encoding': 'chunked'
,
我的所有链接都使用文档中提到的https://
或http://
方案:
提供的深层链接值至少必须以 http:// 或 https:// 方案开头。它还必须匹配在控制台中输入的任何 URL 模式白名单。否则,创建 API 将失败并返回 HTTP 错误代码 400。
即使我收到此错误,也非常感谢您的帮助。
【问题讨论】:
【参考方案1】:好像你错过了"dynamicLinkInfo":
部分,它在数据中应该看起来有点像这样
const link = await axios(
method: 'post',
url: 'https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=myApikey',
headers:
'Content-Type' : 'application/json',
,
data:
dynamicLinkInfo:
domainUriPrefix: 'https://threadsapp.page.link',
link: `https://threads-1511.web.app/threads/$tweet.id_str`,
iosInfo:
iosBundleId: 'com.bundleId',
iosAppStoreId: '1512677811',
iosIpadBundleId: 'com.bundleId',
,
androidInfo:
androidPackageName: 'com.bundleId',
,
socialMetaTagInfo:
socialTitle: `A thread by $tweet.user.name`,
socialDescription: `$tweet.full_text`,
socialImageLink: 'https://firebasestorage.googleapis.com/v0/b/threads-1511.appspot.com/o/playstore.png?alt=media&token=896f4fe6-2882-442e-b15c-3767d61b8a70',
,
suffix:
option: 'SHORT',
,
);
【讨论】:
以上是关于Firebase 动态链接 REST API 返回 400 错误请求的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 动态链接 REST API 中未记录的参数
Firebase Auth REST API - 使用电子邮件/密码登录不会返回刷新令牌
Firebase Rest Api 从我的模型类中读取数据返回 null [重复]