레이블이 GoogleApps인 게시물을 표시합니다. 모든 게시물 표시
레이블이 GoogleApps인 게시물을 표시합니다. 모든 게시물 표시

2014년 1월 23일 목요일

폼메일 결과를 메일로 받기

구글드라이브로 만든 폼메일을 사용자가 작성했을때 그 내용이 관리자에게 전달되지 않으면 매번 구글 드라이브에 접속해서 그 내용을 확인해야 합니다.

이게 여간 불편한게 아니죠. 이래서는 애써 폼메일을 만든 의미가 없습니다. 


이럴때 구글 스크립트를 이용하면 간단하게 해결이 됩니다. 

구글 스크립트를 이용해서 사용자가 폼메일을 작성하면 그 내용이 관리자에게 메일로 보내지게 만들어 볼께요.

구글 스크립트는 구글에서 제공하며 Java Script를 기반으로 하고 있어 Java와 유사합니다. 

또한 구글 드라이브(https://drive.google.com/)와 구글 사이트 도구(https://sites.google.com/)등 구글의 다양한 서비스에서 사용할 수 있는 스크립트 언어입니다. 


https://developers.google.com/apps-script/

위의 주소에서 보다 자세한 설명과 API등을 확인할 수 있습니다. 


자, 이제 시작해볼께요.




폼메일을 만들면서 만들었던 응답 스프레드 시트를 클릭해서 열어줍니다.
그러면 아래와 같은 그림이 나오는데 여기서 'Script editor'를 클릭합니다.






자, 위와 같은 그림이 나오면 'Blank Projet'를 클릭합니다.



위의 그림이 빈 프로젝트의 초기 화면인데 여기서 코드를 모두 지우고 아래와 같은 코드를 새로 넣는겁니다.

function onFormSubmit(e) 
{
    MailApp.sendEmail("이메일 주소", "메일 제목", e.values);
}

이메일 주소(관리자(자신)의 이메일 주소)와 메일 제목(메일이 올때의 메일 제목)은 적절하게 넣어주세요.

'e.values[1]'는 응답시트의 첫번째 열의 타임 스탬프를 제외한 첫번째 행을 뜻합니다. 
만약 두번째 행을 표시하려면 'e.values[2]'와 같이 쓸수 있습니다.

제목 부분을 클릭하면 제목을 수정할 수 있으니 필요에 따라 적당한 제목으로 바꿔주시고 모든 작업이 끝났으면 이 스크립트가 동작할 순간을 정해주면 됩니다. 



위의 그림처럼 'Current project's triggers'를 클릭하면 아래와 같은 그림이 나옵니다.


양식을 제출할때 응답내용을 메일로 보내라는 뜻입니다. 모두 끝났으면 'Save'를 클릭해 끝
내줍니다.
만야겡 아직 아무런 트리거도 설정되어 있지 않다는 메세지가 나올경우엔 방금 만든 트리거를 추가해주세요.

메일을 발송하는 스크립트가 포함된 경우엔 인증이 필요합니다.
그래서 인증이 필요하다는 메세지가 나올수 있는데 간단히 '인증'버튼을 눌러주면 모두 끝납니다.

모든 과정이 끝났으니 테스트를 해보시고 안되면 다시 처음부터 차근차근 따라해보세요.


2013년 12월 18일 수요일

Google Drive를 이용해 폼메일 만들기

Google Drive를 이용해서 폼메일, 설문 조사 문서, 데이터 베이스등을 만들 수 있어요.

이 모든것들이 무료이구요. 

이미 가입되어 있다는 가정하에 폼메일 만드는 방법에 대해서 쓸께요.
Google Drive의 주소는 아래와 같습니다.

https://drive.google.com/

로그인 하시면 아래와 같은 화면이 보이죠?


아래 그림처럼 순서대로 선택해주세요.


그러면 다음과 같은 화면이 나옵니다. 


적당한 제목을 써주시고 마음에 드는 테마를 선택해주세요.

그럼 다음 단계로 아래와 같은 화면이 보이는데요. 잠시 설명할께요.


  1. 사용자에게 입력받아야 할 부분입니다.(이름, 이메일 같은것이겠죠.)
  2. 1번이 무엇을 뜻하는 것인지 사용자에게 설명을 해주는 부분입니다.
  3. 질문 유형이 무엇인지 선택하는 부분입니다. 
  4. 반드시 대답해야하는 질문일때 체크하면 됩니다. 
  5. 추가할 질문이 있다면 선택합니다.(다양한 종류가 존재합니다.)
  6. 미리보기 같은 버튼입니다.
  7. 모든 설정이 끝나고 완료하는 버튼입니다.

3번 종류중에 아래의 경우만 주의해 주시면 됩니다.

'Text'는 이름, 이메일주소, 전화번호처럼 짧은 문장을 받을때 사용하시면 됩니다.
반면, Paragraph Text'는 이메일의 내용처럼 긴 문장을 받을때 사용하시면 됩니다. 

저는 아래처럼 만들어 봤어요.


처음 나온것을 'Name'으로 설정하고 'Add Item'에서 'Text'를 선택한 후 'E-Mail Address'로 해주었어요.
그리고 'Add Item'을 한번 더 선택해서 'Paragraph Text'를 선택해서 'Message'로 사용했어요.

모두 완료하고 7번 버튼을 누르면 아래와 같은 화면이 나와요.



  1. 이 주소를 복사해서 이메일이나 메신저를 통해서 사용자가 작성하게 할수도 있고
  2. 이곳을 눌러서 나오는 코드를 홈페이지에 넣을 수도 있습니다.

사용자가 응답한 결과를 기록하려면 다음 그림처럼 선택하시구요.


그러면 아래와 같은 창이 뜨는데 확인해주시면 


아래 그림처럼 응답한 결과가 새로운 파일로 저장이 됩니다.


이와 같은 방식으로 여러가지 양식을 만들어서 필요에 따라 활용할 수 있습니다.




2013년 12월 17일 화요일

blogger에 SyntaxHighlighter 추가하기

프로그래밍에 대해서 글을 쓸때는 아무래도 코드가 들어가야 하는데 웹상에서 코드를 작성하다 보면 줄이 어그러져서 알아보기 쉽지 않게 되죠.

이럴때 웹상에서도 코드가 이쁘게 잘 나오게 하는 스크립트가 있는데 바로 SyntaxHighlighter 입니다. 


이 스크립트를 설치하게 되면 코드가 깔끔하게 나와요. 


이 스크립트를 blogger에 설치하는 법에 대해서 설명합니다.







먼저 설정에 들어가셔서 HTML편집을 눌러주세요. 

'Ctrl + F'를 눌러서 '<head>'를 검색하구요. 






그 아래에 다음과 같은 코드를 넣어줍니다. (저는 C#을 넣어줬습니다.)





테마를 바꾸실 분들은 아래 링크에서 마음에 드는 걸로 바꾸세요

http://alexgorbatchev.com/SyntaxHighlighter/manual/themes/

한가지 더 추가 사항인데 필요없으신분은 설정하지 않아도 되요.
코드가 길어질때 스크롤바가 생기는 부분인데.. 저는 이게 좀 불편하더라구요.
그래서 스크롤 바를 없애고 글이 길어질때 자동 줄바꿈을 해주는 코드를 넣을께요.
다시 'Ctrl + F'를 눌러서 ']]></b:skin>'을 검색하시면 아래 그림과 같은 곳이 나와요.





이곳이 css 설정하는 부분인데요. 
이 위에 다음의 코드를 넣어주시면 됩니다.
/*--------SyntaxHighlighter에 세로 스크롤 삭제-----*/
.syntaxhighlighter {
 overflow-y: hidden!important; overflow-x: auto!important; 
}

/*--------SyntaxHighlighter에서 자동 줄바꿈-----*/
.syntaxhighlighter .line {
        white-space: pre-wrap !important; /* make code wrap */

이렇게 해주시면 설치는 모두 끝난 것이구요.
다른 코드 종류를 추가하고 싶으시면 아래 링크에서 찾아보실 수 있습니다.


http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/css.html

사용하는 방법은 글을 작성하시고 코드를 넣으실때 아래와 같이 규칙을 지켜주시면 됩니다.

아래와 같은 코드가 있을때 위와 같이 <Pre .....></Pre>로 코드를 감싸주면

// 버튼이 눌러졌을때

if (Input.GetMouseButtonUp(0) == true)
{
    // 파티클이 있고
    if (testParticle)
    {
        // 파티클이 재생중이면 재생을 멈추고 지워줍니다
        if (testParticle.isPlaying == true)
        {
            testParticle.Stop();
            testParticle.Clear();   

            //Debug.Log("STOP");
        }
        // 재생중이 아니라면 재생해주고요
        else
        {
            testParticle.Play();

            //Debug.Log("PLAY");
        }
    }
}

아래와 같이 나오게 되는 거죠.
// 버튼이 눌러졌을때
if (Input.GetMouseButtonUp(0) == true)
{
    // 파티클이 있고
    if (testParticle)
    {
        // 파티클이 재생중이면 재생을 멈추고 지워줍니다
        if (testParticle.isPlaying == true)
        {
            testParticle.Stop();
            testParticle.Clear();   
 
            //Debug.Log("STOP");
        }
        // 재생중이 아니라면 재생해주고요
        else
        {
            testParticle.Play();
 
            //Debug.Log("PLAY");
        }
    }
}