GoogleAppsScript에서 Qiita 게시물을 스프레드시트에 나열

Google 사이트로 만든 사내용 사이트에, Qiita의 투고를 일람 표시하고 싶기 때문에 조사했습니다.

사내에 정보를 보내기 위해 Google 사이트를 사용하고 있습니다. 최근 Qiita에 기술계의 정보를 공개하고 있는 멤버가 늘어나고 있으므로, 사내의 Google 사이트로부터 정리해 볼 수 있으면 좋다고, 사내의 Google 사이트에 Qiita의 투고를 일람 표시할 수 있는 구조를 생각하고 있다 네.

넷에서 조사하고 분명히.

Google 사이트의 GoogleAppsScript(이후, GAS)로 직접 일람을 만들고 표시하고 싶었습니다만, Google 사이트의 GAS로부터 ‘UrlFetchApp.fetch’를 하려고 하면 아무것도 대답이 오지 않고・・・
그래서 스프레드 시트의 GAS로 시도하면 데이터를 얻을 수 있었기 때문에 기록해 둡니다.

스프레드시트에 Qiita 데이터를 가져와 테이블을 만듭니다. 그리고 Google 사이트에서 스프레드시트로 데이터를 가져와서 표시하는 메커니즘을 만듭니다.

먼저 스크립트를 편집합니다.
Qiita API

여기에 다음 내용을 씁니다.

Qiita의 포스트 정보 얻기



Spreadsheet(GAS)
function getQiitaData() {
  var user = "user_id" /ユーザーIDを設定 /

  try { 
    var response = UrlFetchApp.fetch('https://qiita.com/api/v2/users/' + user + '/items')
    var json = response.getContentText();
    var jsonData = JSON.parse(json);
    Logger.log(jsonData);
    return jsonData;
  } catch(e){
    / 失敗した時の処理 /
    var error = e;
    Logger.log("message:" + error.message + " qiitaアカウントが間違っていないか確認してください。");
  }
}


이것으로 투고의 정보를 전부 가져올 수 있는 하즈.
getQiitaData를 실행하면,


실행 후 로그를 확인합니다.




게시 할 정보를 GET 할 수 있습니다.

스프레드시트에 데이터 설정



그리고는, 취득한 Qiita의 투고를 스프레드 시트에 세트 해 갑니다.

Spreadsheet(GAS)
function setSpread(){
  / Spreadsheetを指定 /
  var sp_url = "SpreadsheetのURLをコピペ"; 
  var spreadsheet = SpreadsheetApp.openByUrl(sp_url);

  / シート名を指定 /
  var sheet = spreadsheet.getSheetByName("シート名をコピペ");
  sheet.clearContents();

  / getQiitaDataを呼び出してデータ取得 /
  var jsonData = getQiitaData();

  if(jsonData == undefined){
    Logger.log("Qiitaのアカウント確認してください。");
  }else{
    / データ数チェック /
    if(jsonData.length == 0){
      Logger.log("今のところ投稿がありません。");
    }else{
      Logger.log(jsonData.length + "件のデータを取得しました。");
      for(var i=0;i<jsonData.length;i++){
        sheet.getRange(i+1,1).setValue(jsonData[i]["title"]); /投稿のタイトル/
        sheet.getRange(i+1,2).setValue(jsonData[i]["url"]); /投稿先URL/
        sheet.getRange(i+1,3).setValue(jsonData[i]["created_at"].slice(0,10)); /投稿作成日/
      }
    }
  }
}


스프레드 시트에 게시물 (제목, URL, 작성일)이 표시되었습니다 -


다음은 이 목록을 Google 사이트에 표시합니다.
오늘은 여기까지.

좋은 웹페이지 즐겨찾기