Microsoft Office용 DeepL API 추가 기능 구축하기 (단 하루 만에)

매월 한 번씩, DeepL 직원들은 회사 전체가 참여하는 '해킹 프라이데이'에 참여하여 일상 업무 외의 프로젝트를 수행합니다. 해킹 프라이데이는 우리 API를 마음껏 만져볼 수 있는 좋은 기회이며, 때로는 그 결과가 사용자에게까지 전달되기도 합니다. 사실, 최근 출시된 Google Sheets-DeepL 스크립트는 해킹 프라이데이 프로젝트의 결과물이었습니다! 2022년 9월 해킹 프라이데이에서 DeepL 소프트웨어 개발자 마빈 베커 (Marvin Becker)와 개발자 전도사 팀 카덴바흐(Tim Cadenbach)는 Microsoft Word용 DeepL API 추가 기능 프로토타입을 구축하여 사용자가 Word 문서 내에서 직접 DeepL로 번역할 수 있게 했습니다.
여기에서 작동하는 모습을 볼 수 있습니다:

왜 우리는 이 통합에 관심을 가졌는가?
비즈니스 커뮤니케이션은 DeepL의 대표적인 활용 사례입니다. DeepL 번역은 글로벌 다국어 인력이 효율적으로 협업할 수 있도록 지원하며 동시에 민감한 회사 데이터를 안전하게 보호합니다. 고객들로부터 DeepL API를 활용해 자체 Office 추가 기능을 구축하고자 하는 요청을 자주 접하며, 시작하기 위한 자료를 찾고 계신다는 점을 알게 됩니다. 고객들이 질문할 때 더 나은 답변을 제공할 수 있도록, 통합 작업에 필요한 사항을 직접 파악하고자 했습니다.
이 글에서는 우리가 최신 정보를 공유하겠습니다. 프로젝트를 더 빠르게 시작할 수 있도록 오픈소스 코드도 제공해 드립니다. 준비되셨나요? 함께 만들어 봅시다!
팁 0 (선택 사항): 조금 숙제를 해라
Office API를 처음 접하신다면 다음을 읽어보시길 권합니다. 마이크로소프트 문서의 를 읽어보시길 권합니다. 간단히 말해, 모든 Office 제품은 공통 API 를 통해 제품별 API It could also be helpful to skim through 이 튜토리얼을 를 훑어보는 것도 도움이 될 수 있습니다.
팁 1: 스크립트 랩으로 프로토타입 구축하기 (또는 저희 것을 사용하세요)
스크립트 랩 는 Microsoft에서 유지 관리하는 오픈소스 프로젝트입니다. 스크립트 랩을 사용하면 Excel, Outlook, Word 또는 PowerPoint를 벗어나지 않고도 Office JavaScript API를 실험해 볼 수 있습니다. 스크립트 랩 GitHub 저장소 시작하는 데 도움이 되는 튜토리얼을 포함하고 있습니다.
스크립트 랩을 사용하여 추가 기능 초기 프로토타입을 제작했습니다. 이는 코드를 신속하게 작성하고 실행 결과를 확인할 수 있는 이상적인 방법이며, 단일 JavaScript, HTML, CSS 파일로만 구성되기 때문입니다.
이 초기 단계는 아직 팀원들과 공유할 수 있는 추가 기능이 아니지만, DeepL API로 가능한 기능과 여러분의 추가 기능으로 제공할 수 있는 사용자 경험의 유형을 파악하는 데 도움이 됩니다.
이 글 앞부분에서 오픈소스 코드를 제공하겠다고 약속드렸습니다! 스크립트 랩은 타인의 "스니펫"을 가져올 수 있는 기능을 제공하므로, 저희가 제작한 DeepL-Word 스니펫을 오픈소스로 공개하여 누구나 사용해 볼 수 있도록 했습니다. 여기 GitHub에서 찾을 수 있습니다.
이 단계를 따라하려면 DeepL API 키도 필요합니다. 여기에서 여기에서 계정을 회원가입할 수 있습니다.
지시사항에 설명된 대로 Gist YAML을 복사하여 붙여넣기만 하면 됩니다. 32번째 줄의 자리 표시자에 DeepL API 키를 입력하면, 몇 번의 클릭만으로 저희 스니펫을 실행할 수 있습니다.
한 가지 더, 스크립트 랩 스니펫은 추가 기능 템플릿 설정 과정에서 재활용할 수 있으므로, 스크립트 랩에서 수행한 모든 작업은 나중에 유용하게 활용될 것입니다.
팁 2: Yeoman 생성기를 사용한 Office 추가 기능 프로젝트 생성
스크립트 랩에서 프로토타이핑을 수행하고 Office 스크립팅의 기본을 익혔으니, 이제 Yeoman을 사용하여 실제 추가 기능을 만들기 시작할 수 있습니다. Yeoman은 새로운 프로젝트를 비교적 쉽게 시작할 수 있게 해주는 오픈소스 스캐폴딩 도구입니다. Office 추가 기능용으로 Microsoft에서 제공하는 미리 만들어진 템플릿이 있으며, 흔히 "Yo Office"라고 불립니다.
해당 과정은 여기에서 다루고 있습니다: Office 추가 기능 예맨 생성기.
설정 지침을 따른 후, 스크립트 랩에서 코드를 새로 생성한 저장소로 복사하세요. 설정할 항목이 더 있지만, 'npm run start'를 실행하면 바로 시작할 수 있습니다. 이 명령은 Word를 실행하고 자동 애드인을 사이드로드합니다. 개발에는 어떤 IDE든 사용할 수 있지만, 생성된 템플릿은 Microsoft의 자체 코드 편집기인 VS Code 또는 Visual Studio에서 가장 잘 작동합니다. 더 나은 코딩 및 디버깅 환경을 위해 Visual Studio 사용을 권장합니다.
팁 3: DeepL API 구현
DeepL 구현은 간단합니다—JavaScript fetch 스크립트가 텍스트 번역 엔드포인트를 호출합니다. 우리의 일반적인 프로토타입에는 그것으로 충분했다. 만약 활성화하고 싶다면 애드인에서 용어집을 을 활성화하려면 추가 작업이 필요합니다.
우리는 DeepL의 공식 Node.js 클라이언트 라이브러리 를 사용하지 않았습니다. 해당 라이브러리는 고객님 측 JavaScript 코드를 위한 것이 아니기 때문입니다. 여기서 이유는 보안입니다—클라이언트 측 코드를 호출할 때 API 키가 노출될 수 있습니다. 상세히 알아보려면 위에서 공유한 GIST 파일 (102행부터 시작)을 참고하세요.
팁 4: Mac 사용자용 디버깅
최근 몇 년간 마이크로소프트는 맥 사용자를 지원하기 위해 상당한 투자를 해왔습니다. Mac은 .NET Core 개발에 상당히 좋은 지원을 제공하지만, Microsoft Office 앱을 포함한 핵심 Windows 개발에는 여전히 충분하지 않습니다. 안타깝게도 Mac 사용자를 위한 Microsoft 앱 버전은 손쉬운 디버깅을 위해 구성되지 않았습니다. 팀은 마이크로소프트 충성파(그리고 MVP!)라서 아무 문제 없었지만, 맥 사용자 마빈은 제대로 디버깅하려면 패러렐스를 다운로드해야 했다. Microsoft Office 및 Visual Studio 코드를 Parallels 에서 Microsoft Office와 Visual Studio 코드를 실행하면 앱을 디버깅하고 추가 기능을 제대로 작업할 수 있습니다. 완벽한 해결책은 아니지만, 일을 해내는 데는 충분합니다!
팁 5: 사용자와 추가 기능 공유하기
Office 추가 기능은 Office 앱에서 실행되는 웹 뷰에 로드되며 iFrame을 통해 표시되므로, 접근 권한이 있는 웹 서버에 호스팅해야 합니다. 자세한 내용은 Office 추가 기능 배포 및 게시 방법에 대한 자세한 내용은 Microsoft 기술문서에서 자세히 확인할 수 있습니다.
추가 기능을 설치하고 실행한 후에는, 조직 내 모든 Office 관리자가 Microsoft 365 관리 센터를 통해 사용자 및 그룹에 배포할 수 있습니다. Microsoft 365 관리 센터를 통해. 관리 센터를 통해 배포된 추가 기능은 즉시 사용할 수 있습니다.
보너스: 추가 기능을 다른 Microsoft 앱으로 확장하기
다른 앱으로 추가 기능을 확장하는 것은 쉽습니다. Office 추가 기능은 많은 구성 요소를 공유하므로, 하나의 애플리케이션용 추가 기능은 지원되는 모든 애플리케이션(Outlook, Word, Excel, PowerPoint, Visio 및 OneNote)에서 작동해야 합니다.
그러나 모든 앱은 서로 다른 이벤트를 가지고 있습니다. Word 예제에서는 OnTextSelected를 사용해 왔지만, Excel에서는 OnColumnSelected나 Row. 과 같은 이벤트를 사용할 것입니다. 다른 앱에서도 추가 기능이 작동하도록 하려면, 추가 기능이 반응해야 할 해당 이벤트나 동작을 추가하기만 하면 됩니다. 아주 일반적이죠. 대부분의 코드는 여러 애플리케이션에서 재사용할 수 있습니다.
일반적으로 특정 코드를 함수로 변환하여 재사용하고, 필요한 애플리케이션 세부 사항으로 다시 호출할 수 있도록 하는 것이 권장됩니다. 해당 글을 읽어보시길 권합니다. 여기에서 제공되는 글을 읽어보시길 권합니다.
또한, 좋은 MS 최신 정보 모듈이 도움이 될 수 있습니다.
마무리
이 개요가 도움이 되셨기를 바랍니다! 질문이 있으시면 GitHub 저장소에 Script Lab 스니펫과 함께 이슈를 무료로 생성해 주시고 알려주시기 바랍니다.
DeepL API와 Microsoft Office를 함께 사용하시는 여정에 행운이 가득하시길 바랍니다.