Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用带有graphql查询的API在R上抛出401错误,但在Python上运行良好_Python_R_Rest_Graphql_Http Status Code 401 - Fatal编程技术网

使用带有graphql查询的API在R上抛出401错误,但在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 = """ {

我需要通过API访问一些信息。我需要在R上执行此操作。我尝试在Python上执行此操作,效果很好,但在R上执行相同操作时遇到401错误

我有API密钥,也知道要执行的查询。我在下面附上了Python和R代码

Python:

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), ...)