JSON_PARSING_ERROR:位置0处的意外字符(r)

时间:2019-05-13 23:03:13

标签: python python-requests firebase-cloud-messaging

我已经尝试了几天,使用Python请求包通过FCM发送通知。但是我一直在努力地解决相同的问题,我无法弄清楚我的代码出了什么问题。

这是我要发送到Firebase的JSON:

{"registration_ids":["A token given by Firebase"],"notification": {"title":"1","body":"I'm a test message"}

我可能错过了一些东西,但是据我所知,JSON消息格式正确。我已经尝试了通知和消息,但无济于事。

这是我用来执行此操作的完整代码:

import requests

URL = 'https://fcm.googleapis.com/fcm/send'
data = {"registration_ids":["A token from Firebase"],"notification": {"title":"1","body":"I'm a test message"}}
headers = {"Authorization":"key=My server key","Content-Type":"application/json"}

print(data)
r = requests.post(url=URL, data=data, headers=headers)
print(r.text)

它应该返回状态正确的消息,但会返回400 OK JSON_PARSING_ERROR:位置0处的意外字符(r)。

我不确定自己做错了什么。预先感谢!

1 个答案:

答案 0 :(得分:1)

如果要发送step_fn <- function(x, min = 0, max = 1) { y <- x y[x > min & x <= max] <- 1 y[x <= min] <- 0 y[x > max] <- 0 return(y) } staircase <- function(x, dx, dy) { max <- cumsum(dx) min <- c(0, max[1:(length(dx)-1)]) step <- cumsum(dy) purrr::reduce(purrr::pmap(list(min, max, step), ~ ..3 * step_fn(x, min = ..1, max = ..2)), `+`) } xvalues <- seq(0, 50, by = 0.01) set.seed(42) plot( x = xvalues, y = staircase(xvalues, dx = sample(1:5, 10, replace = TRUE), dy = sample(5:20, 10, replace = TRUE)), type = 'l', xlab = 'x', ylab = 'y' ) 作为JSON,则需要实际生成该JSON:

data

或使用import json data=json.dumps(data) requests.post(<...>,data=data) 的{​​{3}}参数:

post()