Google 스프레드시트에 대해 알아보세요.

4983 단어 mastodongoogle
트위터와 유사하게 마이크로블로깅에 적용할 수 있는 가장 간단한 방법은 Mastodon에 대한 간단한 설명입니다.

A diferencia de Twitter un usuario de Mastodon lo primero que tiene que elegir es a qué instancia quiere pertenecer, entiendo instancia como una "comunidad", "grupo de usuarios con algo en común", y es esa instancia la que se federa con otras instancias tejiendo una red de instancias de tal forma que el toot (equivalente a tweet) se puede propagar entre la red.

El API de Mastodon es bastante simple(aunque totalmente funcinoal) y con un simple POST podemos enviar toots.

En este post vamos a ver cómo mantener en una hoja de Google Sheet una lista de refranes preparados que se enviarán de forma aleatoria cada día a una hora determinada por nosotros

마스토돈



Una vez que estás dado de alta en una instancia puedes crear un API Token desde tu perfil, en opciones de Desarrollo

Crear una nueva aplicación con el nombre que quieras y marcando la opción de write
Te generará una token(una cadena de caracteres y simbolos raros).

경고

No compartas este token pues sirve para tootear en tu nombre

구글 시트



La estructura de la hoja va a ser supersimple:
  • en la primera fila tendremos una cabecera con dos columnnas, Estado y Refrán
  • en las siguientes filas vamos a escribir tantos refranes como queremos, uno por fila dejando la primera columna vacía si queremos que el refrán se envíe o con el texto "NO ENVIAR"si por alguna razón no queremos que sea enviado



  • 에스타도
    레프란



    페로 라드라도르, 포코 모르데도르


    스크립트



    En el menu de Google Sheet seleccionamos Extensiones , Apps Script y se nos abrirá una ventana nueva

    De forma predeterminada te habrá escrito un par de líneas de código a modo de ejemplo que nos interesa. Las borramos y las sustituimos por este código:

    var instancia = 'mastodon.madrid';
    var bootToken = '1d04U1Wnc0h-xxxxxxXXXX-_YYYY';
    
    function sendMastodon() {
    
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getActiveSheet();
    
      const rows = sheet.getRange(2,1,100,2).getValues()
      var candidates = []
      for( var r=0; r<rows.length; r++){
        const row = rows[r];
        if( row[0].toString() !== ""){
          continue;
        }
        if( row[1].toString().trim().length == 0){
          continue;
        }
        candidates.push(row[1])
      }
    
      const toot = candidates[Math.floor(Math.random() * candidates.length)];
    
      var payload = {
        'status': toot,
      }
      var options = {
        'method' : 'post',
        'contentType': 'application/json',
        'payload': JSON.stringify(payload),
        'headers': {
          'Authorization': `Bearer ${bootToken}`
        },
        'muteHttpExceptions':true
      };
      Logger.log(payload)
    
      var url = `https://${instancia}/api/v1/statuses`;
      const resp = UrlFetchApp.fetch(url, options);
      Logger.log(resp)
    }
    


    En las dos primeras tienes que personalizar con los datos de tu usuario:
  • la instancia es el nombre del servidor (por ejemplo mi servidors es https://mastodon.madrid/ así que la variable es mastodon.madrid )
  • el token que generamos al principio

  • Básicamente el script lo que hace es recuperar las 100 primeras filas y filtrar aquellas que la primera columna está "limpia"(si tuviera texto no se envia) y la segunda columna tiene algo(el refran a enviar)

    Una vez filtrados los refranes posibles se elige una de forma aleatoria y se prepara un POST para enviar
  • el payload es un json con un solo campo status que contiene el toot
  • headers contiene una autorizacion con el token

  • 프로반도



    Para probar que todo está bien ejecutaremos el script(que nos pedirá permisos para poder ejecutar en nuestra cuenta)

    Simplemente nos aseguraremos que la funcion sendMastodon se encuentra en el listbox del menu superior, junto al botón Ejecutar . Pulsaremos el botón Ejecutar y si todo ha ido bien habremos envíado un toot a nuestra instancia

    스케줄러



    Podemos pulsar el botón ejecutar tantas veces como queramos pero para hacerlo de forma desatendida usaremos la capacidad de planificar una llamada que nos ofrece Google 시트:

    En el menu vertical de la izquierda buscaremos Activadores (icono de un reloj despertador) y crearemos un nuevo activador
  • seleccionamos la funcion sendMastodon
  • 푸엔테 드 이벤트 Según tiempo
  • 임시로 디아스
  • ~ 09:00

  • (obviamente tú seleccionarás la frecuencia y hora a la que quieres ejecutarlo, esto es un ejemplo)

    좋은 웹페이지 즐겨찾기