NEWS
[gelöst]RSS des Forums unterschiedlich
-
ich wollte die posts eines bestimmten users (unabhängig vom thread) auslesen und in eine datenbank speichern bzw in einer tabelle anzeigen. die bilder sollten "verkleinert" in der tabelle erscheinen - also aus der description rausgefiltert werden.
in der tabelle wird es dann noch einen lösch-button geben, für einträge, die ich nicht brauche
@liv-in-sky Nichts leichter als das https://forum.iobroker.net/api/user/jey-cee/posts
-
@liv-in-sky Nichts leichter als das https://forum.iobroker.net/api/user/jey-cee/posts
Immerhin:
"content":"<p><img src=\"/assets/uploads/files/1609587846670-marvin42weihnacht.png\" alt=\"marvin42weihnacht.png\Habe mir erlaubt deinen account zu durchsuchen ;-)
-
@liv-in-sky Nichts leichter als das https://forum.iobroker.net/api/user/jey-cee/posts
@Jey-Cee perfect - genau das, was ich suche und nochin schöner json form
-
Immerhin:
"content":"<p><img src=\"/assets/uploads/files/1609587846670-marvin42weihnacht.png\" alt=\"marvin42weihnacht.png\Habe mir erlaubt deinen account zu durchsuchen ;-)
du wirst auch in meinem script überwacht werden 😈
-
du wirst auch in meinem script überwacht werden 😈
@liv-in-sky sagte in [gelöst]RSS des Forums unterschiedlich:
du wirst auch in meinem script überwacht werden 😈
und du wirst sicherlich dieses Skript incl. Tabelle wieder teilen
-
@liv-in-sky sagte in [gelöst]RSS des Forums unterschiedlich:
du wirst auch in meinem script überwacht werden 😈
und du wirst sicherlich dieses Skript incl. Tabelle wieder teilen
bin mir noch nicht sicher - erstmal sehen was dabei rauskommt - wenn es sinn macht, wird geteilt
-
@liv-in-sky Nichts leichter als das https://forum.iobroker.net/api/user/jey-cee/posts
hätte noch eine frage - komme ich irgendwie an die anzahl meiner momentanen notification im forum dran ? ohne webseiten einloggen und html parsen - wieder über api - oder ist das gesperrt, weil user spezifisch
evtl sogar, welche da noch nicht gelesen sind
-
hätte noch eine frage - komme ich irgendwie an die anzahl meiner momentanen notification im forum dran ? ohne webseiten einloggen und html parsen - wieder über api - oder ist das gesperrt, weil user spezifisch
evtl sogar, welche da noch nicht gelesen sind
-
@liv-in-sky geht schon über die API aber Authentifiziert musst du sein.
Geht aber nur mit token. Ich schau mir mal an wie das geht.@jey-cee das wäre klasse - request und token ist nicht meine stärke
-
@liv-in-sky geht schon über die API aber Authentifiziert musst du sein.
Geht aber nur mit token. Ich schau mir mal an wie das geht.@jey-cee sagte in [gelöst]RSS des Forums unterschiedlich:
@liv-in-sky geht schon über die API aber Authentifiziert musst du sein.
Geht aber nur mit token. Ich schau mir mal an wie das geht.hi @Jey-Cee - hattest du schon mal zeit bzw eine idee dazu
-
@liv-in-sky ja funktioniert, den Token hab ich für dich.
Mit Axios funktioniert das so:axios.get('https://forum.iobroker.net/api/notifications', { headers: { 'Authorization': `Bearer access_token`, 'user-agent': 'liv-in-sky', } }) .then((res) => { console.log(res.data) }) -
@liv-in-sky ja funktioniert, den Token hab ich für dich.
Mit Axios funktioniert das so:axios.get('https://forum.iobroker.net/api/notifications', { headers: { 'Authorization': `Bearer access_token`, 'user-agent': 'liv-in-sky', } }) .then((res) => { console.log(res.data) }) -
@liv-in-sky ja funktioniert, den Token hab ich für dich.
Mit Axios funktioniert das so:axios.get('https://forum.iobroker.net/api/notifications', { headers: { 'Authorization': `Bearer access_token`, 'user-agent': 'liv-in-sky', } }) .then((res) => { console.log(res.data) }) -
@liv-in-sky ja funktioniert, den Token hab ich für dich.
Mit Axios funktioniert das so:axios.get('https://forum.iobroker.net/api/notifications', { headers: { 'Authorization': `Bearer access_token`, 'user-agent': 'liv-in-sky', } }) .then((res) => { console.log(res.data) })sorry - weiter komm ich nicht - dann wirft es einen fehler aus

ist echt nicht meine stärke - das daten holen
der fehler kommt vor(das log erscheint nicht mehr - nur das schedule wird noch aufgerufen):
const resp = axiosInstance.get('/protected') .then((resp) => {log("123") -
sorry - weiter komm ich nicht - dann wirft es einen fehler aus

ist echt nicht meine stärke - das daten holen
der fehler kommt vor(das log erscheint nicht mehr - nur das schedule wird noch aufgerufen):
const resp = axiosInstance.get('/protected') .then((resp) => {log("123") -
@liv-in-sky der token muss ohne $("") da rein.
Das wird vermutlich auch das problem sein.habe das schedule mal so geändert - das log des headers zeigt kein cookie, was ja in der instanz sein sollte
schedule(' * * * * *', async function () { log(axiosInstance.defaults.headers) const resp = await axiosInstance.get('/protected') .then((resp) => {log("123") console.log(JSON.stringify(resp.data)) let myJSArrNotifier=JSON.parse(JSON.stringify(resp.data.notifications)) let count=0 for (let index=0;index<myJSArrNotifier.length;index++){ if(!myJSArrNotifier[index].read) count++ } setState("0_userdata.0.UnreadForumMessages",count) }) });ich brauch mal ne pause - habe jetzt soviel gelesen, dass ich garnix mehr weiß :-)
-
@liv-in-sky der token muss ohne $("") da rein.
Das wird vermutlich auch das problem sein.@jey-cee aber so wie es aussieht wird die session nicht gemacht - das log "create session" fehlt im iobroker log - zeile 9
-
hi - @Jey-Cee hat mir sehr viel geholfen, ich wollte mir die messages des forums in die vis holen. der zugriff mit axios mit:
klappt auch. das problem - bei zu vielen aufrufen (5) werde ich aus dem forum im browser ausgeloggt bzw. muss mich neu anmelden, wenn das script läuft. die lösung wäre eine verbindung offenzulassen und die daten dann immer mit einem cookie zu holen. dazu hat mir Jey-Cee einen link gepostet. dieser zeig auf, wie man dies machen könnte https://stackoverflow.com/questions/49482429/axios-on-nodejs-wont-retain-session-on-requested-server-while-postman-does . leider bekomme ich das nicht hin.
mein script sieht so aus - aber da kommt dann eine fehlermeldung https://forum.iobroker.net/post/577651
hast du evtl lust, mir damit zu helfen. ich glaube mittlerweile, dass es kein cookie ankommt - bzw, das man auf diese art der auth kein cookie bekommt (in meinem script) - falls du zeit und lust hast, könntest du gerne meinen token benutzen (über chat)
@Jey-Cee
könnte es sein, dass die anzahl der notification auf 8 begrenzt ist. ich hatte nämlich 4 ungelesene nachrichten und über 10 benachrichtigungen im browser. das json aber brachte nur 2 ungelesene und insgesmt 8 notifications. die 2 anderen ungelesenen waren nacchtricht 10 und 11 und somit nicht mehr im json -
hi - @Jey-Cee hat mir sehr viel geholfen, ich wollte mir die messages des forums in die vis holen. der zugriff mit axios mit:
klappt auch. das problem - bei zu vielen aufrufen (5) werde ich aus dem forum im browser ausgeloggt bzw. muss mich neu anmelden, wenn das script läuft. die lösung wäre eine verbindung offenzulassen und die daten dann immer mit einem cookie zu holen. dazu hat mir Jey-Cee einen link gepostet. dieser zeig auf, wie man dies machen könnte https://stackoverflow.com/questions/49482429/axios-on-nodejs-wont-retain-session-on-requested-server-while-postman-does . leider bekomme ich das nicht hin.
mein script sieht so aus - aber da kommt dann eine fehlermeldung https://forum.iobroker.net/post/577651
hast du evtl lust, mir damit zu helfen. ich glaube mittlerweile, dass es kein cookie ankommt - bzw, das man auf diese art der auth kein cookie bekommt (in meinem script) - falls du zeit und lust hast, könntest du gerne meinen token benutzen (über chat)
@Jey-Cee
könnte es sein, dass die anzahl der notification auf 8 begrenzt ist. ich hatte nämlich 4 ungelesene nachrichten und über 10 benachrichtigungen im browser. das json aber brachte nur 2 ungelesene und insgesmt 8 notifications. die 2 anderen ungelesenen waren nacchtricht 10 und 11 und somit nicht mehr im json@liv-in-sky sagte in [gelöst]RSS des Forums unterschiedlich:
könnte es sein, dass die anzahl der notification auf 8 begrenzt ist.
Bei mir hat er 13 angezeigt, keine Ahnung wovon das Abhängt oder wie man das beeinflussen kann.
Hier mal ein Funktionierendes Beispiel:
const axios = require('axios'); const BASE_URL = "https://forum.iobroker.net/api/notifications"; const token = '64e1ec8rrrrrrrrrrrr2f68f2095'; const axiosInstance = axios.create({ baseURL: BASE_URL }); const createSession = async () => { console.log("create session"); const options = { headers: { 'Authorization': `Bearer ${token}`, 'user-agent': 'liv-in-sky', } }; const res = await axios.get(BASE_URL, options); const cookie = res.headers["set-cookie"][0]; // get cookie from request console.log(cookie); axiosInstance.defaults.headers.Cookie = cookie; // attach cookie to axiosInstance for future requests }; createSession() .then((res) => { getNotificationsSchedule(); }).catch( (err) => { console.log(err); }) function getNotificationsSchedule() { schedule(' * * * * *', async function () { axiosInstance.get(BASE_URL).then( (res) => {console.log(res.status)}) }) } -
@liv-in-sky sagte in [gelöst]RSS des Forums unterschiedlich:
könnte es sein, dass die anzahl der notification auf 8 begrenzt ist.
Bei mir hat er 13 angezeigt, keine Ahnung wovon das Abhängt oder wie man das beeinflussen kann.
Hier mal ein Funktionierendes Beispiel:
const axios = require('axios'); const BASE_URL = "https://forum.iobroker.net/api/notifications"; const token = '64e1ec8rrrrrrrrrrrr2f68f2095'; const axiosInstance = axios.create({ baseURL: BASE_URL }); const createSession = async () => { console.log("create session"); const options = { headers: { 'Authorization': `Bearer ${token}`, 'user-agent': 'liv-in-sky', } }; const res = await axios.get(BASE_URL, options); const cookie = res.headers["set-cookie"][0]; // get cookie from request console.log(cookie); axiosInstance.defaults.headers.Cookie = cookie; // attach cookie to axiosInstance for future requests }; createSession() .then((res) => { getNotificationsSchedule(); }).catch( (err) => { console.log(err); }) function getNotificationsSchedule() { schedule(' * * * * *', async function () { axiosInstance.get(BASE_URL).then( (res) => {console.log(res.status)}) }) }@jey-cee sagte in [gelöst]RSS des Forums unterschiedlich:
bekomme gerade in createSession
{'message':'Request failed with status code 401','name':'Error','stack':'Error: Request failed with status code 401\n at createError (/opt/iobroker/node_modules/iobroker.javascript/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/opt/iobroker/node_modules/iobroker.javascript/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/opt/iobroker/node_modules/iobroker.javascript/node_modules/axios/lib/adapters/http.js:260:11)\n at IncomingMessage.emit (events.js:326:22)\n at IncomingMessage.EventEmitter.emit (domain.js:483:12)\n at endReadableNT (_stream_readable.js:1241:12)\n at processTicksAndRejections (internal/process/task_queues.js:84:21)','config':{'url':'https://forum.iobroker.net/api/notifications','method':'get','headers':{'Authorization':'Bearer 64e1errrrrrrr6d02f68f2095','user-agent':'liv-in-sky'},'transformRequest':[null],'transformResponse':[null],'timeout':0,'xsrfCookieName':'XSRF-TOKEN','xsrfHeaderName':'X-XSRF-TOKEN','maxContentLength':-1,'maxBodyLength':-1}}wahrscheinlich bin ich wieder gesperrt und muß warten
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden


