ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 워드프레스와 GPTs를 연동하여 자동 포스팅 시스템 구축 1-2
    IT-Information/chatGPT 2024. 3. 15. 13:41

    이 가이드에서는 워드프레스에 OAuth 인증을 구축하고, REST API를 통해 글 생성, 조회, 수정, 삭제 등의 기능을 수행할 수 있는 자동 포스팅 시스템을 구축하는 방법을 소개합니다. 

    워드프레스와 GPTs를 연동하여 자동 포스팅 시스템 구축

    GPTs와의 연동을 통해 콘텐츠 생성 및 관리를 자동화하고, 사용자 인증 및 포스트 관리를 위한 기본적인 RESTful API 개발 절차를 설명합니다.

     

    플러그인 검색에서 wp oauth server 설치

    플러그인 검색에서 wp oauth server 설치

     

    settings에서 enable OAuth server, Block Unauthenticated requests to the ENTIRE REST API 체크하고 저장합니다.

    settings에서 enable OAuth server, Block Unauthenticated requests to the ENTIRE REST API 체크하고 저장합니다.

     

    Clients 에서 add new client를 눌러서 

    좌측부터 Authorization code 체크하고 오른쪽 client name은 알아보기 쉬운 것으로 적어줍니다.

    좌측부터 Authorization code 체크하고 오른쪽 client name은 알아보기 쉬운 것으로 적어줍니다.

    client credential assigned user에 글쓰기 권한을 줄 관리자 아이디를 선택합니다. client scope에 저같은 경우는 부여할 권한을 적어주는데 posts media 를 적어줬습니다.

     

    그리고 중요한 것은 워드프레스 settings에서 permalinks에 permalinks structure를 수정해줘야합니다.

    그리고 중요한 것은 워드프레스 settings에서 permalinks에 permalinks structure를 수정해줘야합니다.

    여기에서 day and name으로 바꿔야 GPTs와 연동이 수월합니다.

     

    Lazy Load YouTube Video

    유튜브를 통해서 아이디어를 구현해볼 수 있었습니다. 여기 유튜버분이 친절하게 설명해주시니 참고해보시면 좋을 듯합니다.

    블로그에 영상을 추가 할 때 페이지 로드 속도 영향이나 오류들에 대해서 알아 보면 좋습니다.

    GPTs 액션에 추가할 스키마

    포스트 및 미디어 스키마 내용

    {
    
    
      "openapi": "1.0.0",
    
    
      "info": {
        "title": "워드프레스 자동 포스팅",
        "description": "워드프레스 OAuth를 사용해 자동으로 글을 생성합니다",
        "version": "v1.0.0"
      },
      "servers": [
        {
          "url": "https://ai.goldsystem.org"
        }
      ],
      "paths": {
        "/wp-json/wp/v2/posts": {
          "post": {
            "operationId": "createPost",
            "requestBody": {
              "required": "true",
              "content": {
                 "application/json": {
                     "schema": {
                        "type": "object", 
                        "properties": {
                           "title": {
                              "type": "string",
                              "description": "글 제목"
                            },
                           "content": {
                              "type": "string",
                              "description": "글 내용"
                           },
                           "status": {
                              "type": "string",
                              "description": "즉시 공개할 지, 대기 중인지 설명하는 글 상태 ( publish 또는 pending )"
                           }
                        }
                      }
                  }
               }
             }
          }
        }
      }
    }

     

Designed by Tistory.