0

可以这么说,我不太擅长使用 API 的“从头开始”。我在这里的问题可能更多地与我对 RESTful API 的无知有关,而不是专门针对 Todoist API,但我在 Todoist 上苦苦挣扎,因为他们的所有文档都是围绕 python 的,我不确定为什么我的微弱尝试失败了。一旦我获得连接/身份验证,我想我会没事的。

Todoist 文档

我已经尝试了几个使用httr::GET(). 当我开始时,我会很感激这里的一点推动。

我尝试过的事情,key我的 api 令牌在哪里:

library(httr)
r<-GET("https://beta.todoist.com/API/v8/", add_headers(hdr))

对于hdr,我用过很多东西:

  • hdr<-paste0("授权:承载", key)
  • 只是我的钥匙

我也试过projects在网址的末尾

4

1 回答 1

0

更新这些现在在 R 包rtodoist中实现。


我想你几乎拥有它,除了网址?(或者可能从那时起它发生了变化)和标题。以下对我有用,替换为在此处my_todoist_token找到的 API 令牌。

library(jsonlite)
library(httr)
projects_api_url <- "https://api.todoist.com/rest/v1/projects"

# to get the project as a data frame
header <- add_headers(Authorization = paste("Bearer ", my_todoist_token))
project_df <- GET(url = projects_api_url, header) %>%
  content("text", encoding = "UTF-8") %>%
  fromJSON(flatten = TRUE)

# to create a new project
# unfortunately no way to change the dot color associated with project
header2 <- add_headers(
  Authorization  = paste("Bearer ", my_todoist_token),
  `Content-Type` = "application/json",
  `X-Request-Id` = uuid::UUIDgenerate())

POST(url = projects_api_url, header2,
     body = list(name = "Your New Project Name"
                 # parent = parentID
                 ),
     encode = "json")

# get a project given project id
GET(url = paste0(projects_api_url, "/", project_df$id[10]),
    header) %>%
  content("text", encoding = "UTF-8") %>%
  fromJSON(flatten = TRUE)

# update a project 
POST(url = paste0(projects_api_url, "/", project_df$id[10]),
    header2, body = list(name = "IBS-AR Biometric 2019"), encode = "json") 
于 2019-07-30T07:14:38.507 回答