NEWS
Telegram Nachricht per Blockly mit Maps URL
-
Hi,
ich möchte die Parkposition unseres Autos mir per Telegram schicken. Das Skript selbst funktioniert auch, nur ist es so, dass wenn ich die Google Maps URL zusammensetze aus
https://www.google.com/maps/dir/?api=1&travelmode=driving&destination=
und danach die Adresse als Variable hinzufüge, die URL in Telegram nicht komplett über den ganzen Adress-String geht:
Telegram interpretiert also den String nicht komplett als URL. Der href Tag funktioniert nicht. Ich habe auch schon versucht, um die URL einfache oder Doppelte Hochkommata zu setzen, ohne Erfolg.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</variable> <variable id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</variable> </variables> <block type="on" id="arfc8W~NQO8mOgp,-o1[" x="38" y="-37"> <field name="OID">0_userdata.0.EigeneDatenpunkte.Auto.ParkPositionSchicken</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="variables_set" id="KaKowXG;}.;Js/{k#v=F"> <field name="VAR" id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</field> <value name="VALUE"> <block type="convert_tostring" id="*p.2?GDkROlo9!(ykRUd"> <value name="VALUE"> <block type="text_join" id="B_rFnN$mqKsi!tlT)QZ{"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="6I3usZm_~DPvU:~Kvf.,"> <field name="TEXT">https://www.google.com/maps/dir/?api=1&travelmode=driving&destination=</field> </block> </value> <value name="ADD1"> <block type="get_value" id="z4eGh_bvd7~0}9p|FA2/"> <field name="ATTR">val</field> <field name="OID">vw-connect.0.WVGZZZE2ZNP025704.position.address.displayName</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="D1t8NP%UpC:|=FjOv4]_"> <field name="VAR" id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</field> <value name="VALUE"> <block type="text_join" id="c}-H~a{p-$:u^,;PLHfv"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id="rlfw;e]ydU7,2v|amu1@"> <field name="TEXT">Das Auto steht an folgender Adresse: </field> </block> </value> <value name="ADD1"> <block type="get_value" id="L{PM1sVH#c,D@Z3*e?J["> <field name="ATTR">val</field> <field name="OID">vw-connect.0.WVGZZZE2ZNP025704.position.address.displayName</field> </block> </value> <value name="ADD2"> <block type="text_newline" id="F~TfduOZ-}6+M+dGhF/j"> <field name="Type">\n</field> </block> </value> <value name="ADD3"> <block type="text" id="YL$EDOe`D0]l#8W(@SAN"> <field name="TEXT">Google Maps Link: </field> </block> </value> <value name="ADD4"> <block type="variables_get" id=".sxStq[Ym7ESR#2dC*e5"> <field name="VAR" id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</field> </block> </value> </block> </value> <next> <block type="telegram" id="ZvjT~MoV!f}?J7!!#w;I"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">HTML</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="#h6bwfnQq]](i6.D.|k0"> <field name="TEXT">text</field> </shadow> <block type="variables_get" id="Vq/4]P0,LSVAzDw|G,wy"> <field name="VAR" id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</field> </block> </value> <next> <block type="update" id="pZO+JnCM@h4W#o.1.k!m"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.EigeneDatenpunkte.Auto.ParkPositionSchicken</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="fPvjs^a$/{|d/*GMP{=k"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
Die Suche hat leider keinen Erfolg gebracht
Hat jemand einen Tipp?
Danke!
-
@mading naja, da stehen Leezeichen in der Adresse
https://www.google.com/maps/dir/?api=1&travelmode=driving&destination=Meisenweg 17, 28832 Achim, Deutschland
geht nicht - weil Leerzeichen in URLs nicht erlaubt sind. Die müssen weg. In URLs gibt es verschiedene Wege diese zu "maskieren",
ich nehme normalerweise%20
, also jedes Leerzeichen durch%20
ersetzen:https://www.google.com/maps/dir/?api=1&travelmode=driving&destination=Meisenweg%2017,%2028832%20Achim,%20Deutschland
funktioniert bei mir
-
@bananajoe
️ oh mann, stimmt. Hätt ich auch drauf kommen können. Hatte es via Hochkommata versucht. Danke dir!
-
@bananajoe jetzt muss ich doch nochmal nachfragen:
Ich habe die JS Funktion encodeURI gefunden und versucht, die URL damit zu enkodieren, damit Leerzeichen entfernt werden:.
Die Funktion selbst hat die Eingabevariable "Eingabe", nur wird sie nicht kodiert und sieht noch gleich aus wie oben.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="D0xbmV)s797sLt{_RI+N">Eingabe</variable> <variable id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</variable> <variable id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</variable> </variables> <block type="procedures_defcustomreturn" id="112?fBKH/J|g-{/v2(]J" x="38" y="-112"> <mutation statements="false"> <arg name="Eingabe" varid="D0xbmV)s797sLt{_RI+N"></arg> </mutation> <field name="NAME">EncodeURI</field> <field name="SCRIPT">ZnVuY3Rpb24gZW5jb2RlVVJJKEVpbmdhYmUpew0KDQogICAgcmV0dXJuIGVuY29kZVVSSShFaW5nYWJlKTsNCg0KfQ==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="on" id="arfc8W~NQO8mOgp,-o1[" x="38" y="-37"> <field name="OID">0_userdata.0.EigeneDatenpunkte.Auto.ParkPositionSchicken</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="variables_set" id="%v*cjB[M(Ko*C]9WPC-5"> <field name="VAR" id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="RuyR~Zi10{k3*WV`MFzQ"> <mutation name="EncodeURI"> <arg name="Eingabe"></arg> </mutation> <value name="ARG0"> <block type="text_join" id="B_rFnN$mqKsi!tlT)QZ{"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="6I3usZm_~DPvU:~Kvf.,"> <field name="TEXT">https://www.google.com/maps/dir/?api=1&travelmode=driving&destination=</field> </block> </value> <value name="ADD1"> <block type="get_value" id="z4eGh_bvd7~0}9p|FA2/"> <field name="ATTR">val</field> <field name="OID">vw-connect.0.WVGZZZE2ZNP025704.position.address.displayName</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="D1t8NP%UpC:|=FjOv4]_"> <field name="VAR" id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</field> <value name="VALUE"> <block type="text_join" id="c}-H~a{p-$:u^,;PLHfv"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id="rlfw;e]ydU7,2v|amu1@"> <field name="TEXT">Das Auto steht an folgender Adresse: </field> </block> </value> <value name="ADD1"> <block type="get_value" id="L{PM1sVH#c,D@Z3*e?J["> <field name="ATTR">val</field> <field name="OID">vw-connect.0.WVGZZZE2ZNP025704.position.address.displayName</field> </block> </value> <value name="ADD2"> <block type="text_newline" id="F~TfduOZ-}6+M+dGhF/j"> <field name="Type">\n</field> </block> </value> <value name="ADD3"> <block type="text" id="YL$EDOe`D0]l#8W(@SAN"> <field name="TEXT">Google Maps Link: </field> </block> </value> <value name="ADD4"> <block type="variables_get" id=".sxStq[Ym7ESR#2dC*e5"> <field name="VAR" id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</field> </block> </value> </block> </value> <next> <block type="telegram" id="ZvjT~MoV!f}?J7!!#w;I"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">HTML</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="#h6bwfnQq]](i6.D.|k0"> <field name="TEXT">text</field> </shadow> <block type="variables_get" id="Vq/4]P0,LSVAzDw|G,wy"> <field name="VAR" id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</field> </block> </value> <next> <block type="update" id="pZO+JnCM@h4W#o.1.k!m"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.EigeneDatenpunkte.Auto.ParkPositionSchicken</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="fPvjs^a$/{|d/*GMP{=k"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
Gibt es eine andere/ bessere Möglichkeit die Leerzeichen durch entsprechende Zeichenketten zu maskieren?
-
Also wenn du eine JavaScript-Function anlegst und diese damit genauso nennst wie den Befehl den du darin aufrufst ... das kann einfach nicht klappen. Nenne deine Funktion anders, dann wirst du darin auch den Befehl aufrufen könne. So ruft die Funktion doch sich selbst auf, sollte eine Warnung im Log gegeben haben oder der JavaScript-Adapter hat sich weggeschossen wegen Endlosschleife
-
@bananajoe ok, danke. Die Variable bleibt dennoch leer. Stimmt was mit der Javascript Funktion nicht (Eingabe Parameter und Rückgabe? Das encoden der URL klappt leider nicht, ich habe mal testweise den Return String ausgeben lassen. Hättest du noch einen Tipp?
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="D0xbmV)s797sLt{_RI+N">Eingabe</variable> <variable id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</variable> <variable id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</variable> </variables> <block type="procedures_defcustomreturn" id="112?fBKH/J|g-{/v2(]J" x="38" y="-112"> <mutation statements="false"> <arg name="Eingabe" varid="D0xbmV)s797sLt{_RI+N"></arg> </mutation> <field name="NAME">url</field> <field name="SCRIPT">ZnVuY3Rpb24gdXJsKEVpbmdhYmUpew0KDQogICAgcmV0dXJuIGVuY29kZVVSSShFaW5nYWJlKTsNCg0KfQ==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="on" id="arfc8W~NQO8mOgp,-o1[" x="38" y="-37"> <field name="OID">0_userdata.0.EigeneDatenpunkte.Auto.ParkPositionSchicken</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="variables_set" id="%v*cjB[M(Ko*C]9WPC-5"> <field name="VAR" id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="RuyR~Zi10{k3*WV`MFzQ"> <mutation name="url"> <arg name="Eingabe"></arg> </mutation> <value name="ARG0"> <block type="text_join" id="B_rFnN$mqKsi!tlT)QZ{"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="6I3usZm_~DPvU:~Kvf.,"> <field name="TEXT">https://www.google.com/maps/dir/?api=1&travelmode=driving&destination=</field> </block> </value> <value name="ADD1"> <block type="get_value" id="z4eGh_bvd7~0}9p|FA2/"> <field name="ATTR">val</field> <field name="OID">vw-connect.0.WVGZZZE2ZNP025704.position.address.displayName</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="D1t8NP%UpC:|=FjOv4]_"> <field name="VAR" id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</field> <value name="VALUE"> <block type="text_join" id="c}-H~a{p-$:u^,;PLHfv"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id="rlfw;e]ydU7,2v|amu1@"> <field name="TEXT">Das Auto steht an folgender Adresse: </field> </block> </value> <value name="ADD1"> <block type="get_value" id="L{PM1sVH#c,D@Z3*e?J["> <field name="ATTR">val</field> <field name="OID">vw-connect.0.WVGZZZE2ZNP025704.position.address.displayName</field> </block> </value> <value name="ADD2"> <block type="text_newline" id="F~TfduOZ-}6+M+dGhF/j"> <field name="Type">\n</field> </block> </value> <value name="ADD3"> <block type="text" id="YL$EDOe`D0]l#8W(@SAN"> <field name="TEXT">Google Maps Link: </field> </block> </value> <value name="ADD4"> <block type="variables_get" id=".sxStq[Ym7ESR#2dC*e5"> <field name="VAR" id="v~LsF;Z:nA*l}ebO$t`K">GoogleMapsURL</field> </block> </value> </block> </value> <next> <block type="telegram" id="ZvjT~MoV!f}?J7!!#w;I"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">HTML</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="#h6bwfnQq]](i6.D.|k0"> <field name="TEXT">text</field> </shadow> <block type="variables_get" id="Vq/4]P0,LSVAzDw|G,wy"> <field name="VAR" id="^?:MPm61`|Yim4q_LAg%">ParkAdresse</field> </block> </value> <next> <block type="update" id="pZO+JnCM@h4W#o.1.k!m"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.EigeneDatenpunkte.Auto.ParkPositionSchicken</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="fPvjs^a$/{|d/*GMP{=k"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
@mading deine Funktion ist falsch, die muss so lauten:
return encodeURI(s_OriginalURL);
Also:
Das ist schon eine Funktion, da musst du nicht extrafunction
reinschreiben, das drumherum ist schon da. Du hast eine Funktion innerhalb einer Funktion gebaut.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="_i3+`y*Zv/8N|GPU%f_R">s_OriginalURL</variable> <variable id="qv]UG#.^Y%h9;`D-6vo2">meineURL</variable> </variables> <block type="procedures_defcustomreturn" id="O/kPa$hWu*Sqkh^uJL[)" x="63" y="62"> <mutation statements="false"> <arg name="s_OriginalURL" varid="_i3+`y*Zv/8N|GPU%f_R"></arg> </mutation> <field name="NAME">funcURLumwandeln</field> <field name="SCRIPT">cmV0dXJuIGVuY29kZVVSSShzX09yaWdpbmFsVVJMKTs=</field> <comment pinned="false" h="80" w="160">Describe this function...</comment> </block> <block type="variables_set" id="R_FBc$0TVGxjh.fy7/gt" x="63" y="113"> <field name="VAR" id="qv]UG#.^Y%h9;`D-6vo2">meineURL</field> <value name="VALUE"> <block type="text" id="5dOL_vWVbiP:ePx%t7,7"> <field name="TEXT">https://www.google.com/maps/dir/?api=1&travelmode=driving&destination=Meisenweg 17, 28832 Achim, Deutschland</field> </block> </value> <next> <block type="debug" id="-8E80K=QH;bbj]Pj(BMy"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="Gc.bzc5TkFNGRBh,,3Rt"> <field name="TEXT">test</field> </shadow> <block type="procedures_callcustomreturn" id="F_Vtxc$t{sKwK`#^DVvn"> <mutation name="funcURLumwandeln"> <arg name="s_OriginalURL"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="-a;4^+nN*6;0hs)zT|e-"> <field name="VAR" id="qv]UG#.^Y%h9;`D-6vo2">meineURL</field> </block> </value> </block> </value> </block> </next> </block> </xml>
-
@bananajoe top danke, funktioniert!