Discourse에서 Google Sheets 링크 변환

이 플러그인은 linkify 테마 컴포넌트의 데이터를 구글 시트(Google Sheet)에서 가져오는 기능을 제공합니다. 현재는 테마 컴포넌트의 이 포크를 설치해야 하지만, 향후 해결책이 마련되어 실제 테마 컴포넌트를 이 플러그인과 함께 사용할 수 있게 될 수 있습니다.


설정

단계:

  1. 구글 클라우드에서 서비스 계정을 생성하세요. Create service accounts  |  Identity and Access Management (IAM)  |  Google Cloud Documentation
    구글에서 JSON 파일 다운로드가 트리거됩니다. 파일 내용을 안전하게 저장하세요.

  2. 구글 시트를 생성하고 서비스 계정 이메일 주소로 공유하세요.

  3. app.yml 파일의 env 섹션 하단에 아래 내용을 붙여넣으세요.

     GOOGLE_ACCOUNT_TYPE: 'service_account'
     GOOGLE_CLIENT_ID: 'client-id-from-json-file'
     GOOGLE_CLIENT_EMAIL: "service-account-email-address"
     GOOGLE_PRIVATE_KEY:  아래 설명 참고
    
  • GOOGLE_PRIVATE_KEY 파라미터를 설정하는 방법?

    • JSON 파일의 키를 코드 편집기에 붙여넣으세요.
    • 찾기 및 치환 기능을 사용하여 \n을 \\n으로 교체하세요.
    • 결과를 복사하여 app.yml의 GOOGLE_PRIVATE_KEY 앞에 붙여넣고,
      단일 따옴표 ' '로 감싸세요.
  1. 이제 플러그인 설치의 일반 단계를 따르세요.

  2. Linkify 테마 컴포넌트의 이 포크를 설치하세요.


플러그인 설정

linkify_google_sheet_id: 브라우저에서 구글 시트를 열었을 때, https://docs.google.com/spreadsheets/d/ 뒤에 오는 긴 문자열이 스프레드시트 ID입니다.

linkify_google_sheet_name: 엑셀 파일에는 Sheet1, Sheet2 등 여러 시트가 있을 수 있습니다. 해당 시트 이름을 여기에 입력하세요.

linkify_google_sheet_cell_range: linkify 데이터를 가져올 열 범위입니다. 기본값은 첫 번째 두 열로 설정되어 있습니다. 이 값을 변경할 수 있습니다. 셀 범위에 대한 가이드는 여기에서 확인할 수 있습니다. Google Sheets API Overview  |  Google for Developers


:page_facing_up: 코드 가져오기

:raising_hand_woman: 기능 요청하기

:bug: 버그 보고하기

길을 잃으셨나요?

플러그인 스폰서십에 감사드립니다 @jrgong

7개의 좋아요

@sam
이와 함께, 이러한 테마 컴포넌트의 데이터 소스에 깔끔하게 접근하고 교체할 수 있는 plugin-api 메서드를 제안합니다.

예를 들어,

// 사용 시
let data = useDataSource('linkify-data');
// 플러그인, 테마 컴포넌트는 다음과 같은 방식으로 동작할 수 있습니다

setDataSource('linkify-data', customDataObject);

여기서의 아이디어는, 다른 테마 컴포넌트가 setDataSource를 통해 다른 객체를 설정할 수 있다는 것입니다.
이를 통해 코드 변경 없이 해당 컴포넌트의 데이터 소스를 교체할 수 있습니다.
의견 있으신가요?

4개의 좋아요

최고예요! @fzngagan 님, 멋진 작업과 구현에 다시 한번 감사드립니다!

2개의 좋아요