Appscript récupérer informations par SNMP sur un GSheet

raxos Messages postés 674 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 3 janvier 2025 - 3 janv. 2025 à 14:20
raxos Messages postés 674 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 3 janvier 2025 - 3 janv. 2025 à 19:06

Bonjour bonjour !

Je suis dans ma période de folie, et je me demandais s'il était possible de faire un dashboard avec un Google Sheet (oui je sais, pas du tout optimisé comme système), qui irait chercher des infos de mon imprimante (une ricoh imc4500), notamment le niveau d'encre. Je me suis donc lancé sur mon Appscript. Mais avant ça, j'ai fais quelques modifications sur mon web monitor, notamment en faisant en sorte que le user "public" (celui par défaut non connecté) puisse avoir accès aux informations. J'ai ouvert le SNMP. Je suis donc parti à l'aventure, et commencé mes tests : (le IOD utilisé est celui qui affiche les infos sur la cartouche noir de mon imprimante) :

function getSNMPData() {
  var deviceIp = 'adresseipdelimprimante'; // Adresse IP de l'imprimante Ricoh
  var community = 'public'; // Communauté SNMP
  var oid = '1.3.6.1.2.1.43.11.1.1.9.1.1'; // Niveau d'encre

  var url = 'http://' + deviceIp + '/snmp/get/';
  var params = 'oid=' + oid;

  var response = UrlFetchApp.fetch(url + '?' + params, {
    headers: {
      'Authorization': 'Basic ' + Utilities.base64Encode(community)
    }
  });
  var content = JSON.parse(response.getContentText());

  // Insertion des données dans Google Sheets
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  sheet.appendRow([deviceIp, content.value]); // Affiche IP et niveau d'encre
}

// Planification de l'exécution automatique toutes les heures (par exemple)
function setupTrigger() {
  ScriptApp.newTrigger('getSNMPData')
    .timeBased()
    .everyHours(1)  // Exécution toutes les heures
    .create();
}

Et le probleme arrive quand j'execute :

Erreur    
Exception: Bad request: http://adresseipdelimprimante/snmp/get/?oid=1.3.6.1.2.1.43.11.1.1.9.1.1
getSNMPData    @ Code.gs:9

je precise que ou j'ai mis adresseipdelimprimante il y a bien une adresse ip...

Je dois avouer que je ne sais pas trop ou je me suis trompé, quelqu'un aurait-il une idée svp ?

1 réponse

jordane45 Messages postés 38369 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 janvier 2025 4 721
3 janv. 2025 à 16:36

Bonjour,

Je ne suis pas certain de ma réponse .. mais .. ton IP est accessible depuis internet ou uniquement dans ton réseau local ?

car googlesheet se trouve dans le web par conséquent, n'accède pas à une ip privée


0
raxos Messages postés 674 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 3 janvier 2025 63
3 janv. 2025 à 19:06

Bonjour,

L'imprimante est bien entendu accessible sur le web, ainsi que depuis le réseau local.

0