使用带有graphql查询的API在R上抛出401错误,但在Python上运行良好
我需要通过API访问一些信息。我需要在R上执行此操作。我尝试在Python上执行此操作,效果很好,但在R上执行相同操作时遇到401错误 我有API密钥,也知道要执行的查询。我在下面附上了Python和R代码 Python:使用带有graphql查询的API在R上抛出401错误,但在Python上运行良好,python,r,rest,graphql,http-status-code-401,Python,R,Rest,Graphql,Http Status Code 401,我需要通过API访问一些信息。我需要在R上执行此操作。我尝试在Python上执行此操作,效果很好,但在R上执行相同操作时遇到401错误 我有API密钥,也知道要执行的查询。我在下面附上了Python和R代码 Python: import requests headers = { 'Content-Type': 'application/json', 'Authorization': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX', } query = """ {
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX',
}
query = """
{
boards (ids: 157244624) {
permissions
}
}
"""
response = requests.get('https://XYZwebsite.com/', headers=headers, json={'query': query})
R:
require(httr)
标题=c(
`内容类型“=”应用程序/json“,
`授权“='XXXXXXXXXXXXXXXXXXXXXXXX'
)
数据收集{
董事会(识别号:157244624){
权限
}
}'
res也许可以尝试:
r <- GET("https://XYZwebsite.com/",
add_headers(`Content-Type` = "application/json",
`Authorization` = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"),
body = data)
看起来你想同时做两件事
如果您已经拥有令牌,则看起来您传递的令牌不正确:
auth_header <- paste("bearer", .token)
res <- POST(.url, body = pbody, encode="json", add_headers(Authorization=auth_header), ...)
auth_header也许可以尝试:
r <- GET("https://XYZwebsite.com/",
add_headers(`Content-Type` = "application/json",
`Authorization` = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"),
body = data)
看起来你想同时做两件事
如果您已经拥有令牌,则看起来您传递的令牌不正确:
auth_header <- paste("bearer", .token)
res <- POST(.url, body = pbody, encode="json", add_headers(Authorization=auth_header), ...)
auth_头我猜“数据”部分的格式不正确。url在正文中是一个列表,而不是字符串。(至少对于POST请求来说是这样)。是的。但我的数据是以GraphQL查询的形式提供的。我引用了()这个github文档,结果证明我们可以在数据部分使用GraphQl查询本身。请看一看,让我知道您的想法。我以为您的代码实际上是在尝试进行身份验证,但看一看,您的代码似乎收到了401(未经授权的错误),因为您必须在运行查询之前进行身份验证。查看更新。我猜“数据”部分的格式不正确。url在正文中是一个列表,而不是字符串。(至少对于POST请求来说是这样)。是的。但我的数据是以GraphQL查询的形式提供的。我引用了()这个github文档,结果证明我们可以在数据部分使用GraphQl查询本身。请看一看,让我知道您的想法。我以为您的代码实际上是在尝试进行身份验证,但看一看,您的代码似乎收到了401(未经授权的错误),因为您必须在运行查询之前进行身份验证。请参阅更新。
auth_header <- paste("bearer", .token)
res <- POST(.url, body = pbody, encode="json", add_headers(Authorization=auth_header), ...)