Ghost CMS API에 대한 R 인터페이스
P粉134288794
P粉134288794 2023-08-03 12:45:37
0
1
490

내장된 Admin API를 사용하여 R에서 로컬 Ghost CMS 인스턴스에 연결하려고 합니다. 다양한 언어로 연결하는 방법에 대한 좋은 문서(https://ghost.org/docs/admin-api/#token-authentication)가 있지만 안타깝게도 R에 대한 문서는 없습니다. 다음 코드를 작성했지만 불행하게도 테스트 항목을 생성하려고 할 때 401 오류가 발생했습니다. 어떤 도움이라도 대단히 감사하겠습니다.

R 코드:

api_admin_key <- "xxxxxx:yyyyyyyyyyyyyyy" api_admin_key <- unlist(strsplit(x = api_admin_key, 분할 = ":")) names(api_admin_key) <- c("id", "secret") # 헤더와 페이로드 준비 iat <- as.integer(Sys.time()) 헤더 <- list(alg = 'HS256', typ = 'JWT', kid = api_admin_key[["id"]]) # 토큰 생성(디코딩 비밀 포함) 페이로드 <- 호세::jwt_claim(iat = iat, 특급 = iat + 5 * 60, aud = '/관리자/') 토큰 <- 호세::jwt_encode_hmac( 클레임 = 페이로드, 비밀 = charToRaw(api_admin_key[["secret"]]), 크기 = 256, 헤더 = 헤더 ) # 게시물 작성을 위해 인증된 요청을 합니다. URL <- 'http://localhost:2368/ghost/api/admin/posts/' 헤더 <- c('Authorization' = Paste("Ghost", token)) body <- list(게시물 = 목록( "제목" = '안녕하세요 세계', "html" = "

내 게시물 콘텐츠. 작업 진행 중...

", "상태" = "게시됨" ) ) httr::POST(URL, 몸=몸, 인코딩 = "json", httr::add_headers(.headers = 헤더))


P粉134288794
P粉134288794

모든 응답 (1)
P粉739706089

jwt_encode_hmac()에 전달하는 secret= 매개변수에 문제가 있는 것 같습니다. charToRaw 함수는 16진수를 이해할 수 없으며 ASCII 문자 코드만 사용합니다. 변환을 수행하려면 기존 질문의 hex_to_raw 함수 중 하나를 사용해야 합니다. 여기서는 변환을 수행하는 함수를 사용하고 있습니다.

으아아아

또한 헤더에 alg 및 typ를 지정할 필요가 없습니다. 이는 함수에 의해 자동으로 추가되기 때문입니다. 따라서 다음을 사용하여 토큰을 만들 수 있습니다.

으아아아

https://jwt.io/의 디버거를 사용하여 각 토큰을 테스트한 결과 동일한 것으로 보입니다. 디버거에서 16진수 값 "12bd18f2cd12"의 Base64 인코딩 값은 "Er0Y8s0S"입니다.

    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!