0

Is there a way to get internal information (like IP address / hardware (mac) address/ etc??

Let assume I have three iPads accessing an application via the Ninox Cloud..  A user may use any one of the iPads to log onto the application..  Is there a way to determine which iPad the user was using?  I get that I can get userId().. I can also get ninoxApp()... 

I would even be OK if the Ninox Install simply tagged a GUID as it was installed.. or if it has a configurable parameter.. 

Thoughts? 

17 replies

null
    • Support
    • 5 yrs ago
    • Reported - view

    We have this on our change request list and will implement such a function with an upcoing update.

    Birger

    • ScottCPA
    • Stephen_Scott
    • 3 yrs ago
    • Reported - view

    Is there any update on this?  It would be helpful obtain the MAC and IP Address of the client.

    • Mconneen
    • 3 yrs ago
    • Reported - view

    @Stephen,

    Not that I am aware of.   It is a "nice" to have for me.. but not a show stopper.

    • ScottCPA
    • Stephen_Scott
    • 3 yrs ago
    • Reported - view

    @Mconneen. Same for me.  I was just curious since the 10/10/18 reply from support stated that a function would be added with an upcoming update.  That was nearly 2 years ago.  Any idea if there is a master list of future updates anywhere? I'm always curious as to what features might be added and when.

    • Sean
    • 3 yrs ago
    • Reported - view

    Stephen, There is a Change Request database in the Ninox BETA Team, but I wouldn't put much faith in any of the completion dates listed. I love working with the app, however, it seems they are focusing on low code no code features instead of any "low level" stuff.

    • ScottCPA
    • Stephen_Scott
    • 3 yrs ago
    • Reported - view

    @Sean. Thanks for the reply.  Can anyone request/receive access to the BETA team?  I really love Ninox but a few extra features would really help me roll out a more solid product.  This particular request falls in the "would be nice to have" category for me.

    • Mconneen
    • 3 yrs ago
    • Reported - view

    While I did not try it..   As a work around.. you can create a restful service that runs on machine to provide this information.. I suppose that would work with the Mac Desktop..  I have not dabbled in the iPad development, and suspect that would not be possible ...

    • Sean
    • 3 yrs ago
    • Reported - view

    Stephen, There aren't any exclusions that I'm aware of. The fastest way to get an invite is to send an email to Ninox support and if you don't have access to the Webinar EN 2020 team go ahead and ask for that too. Regarding their ever releasing such a function, I have to say I doubt it based on the little bit of research I did. This is an interesting read, https://stackoverflow.com/questions/20194722/can-you-get-a-users-local-lan-ip-address-via-javascript, and unless I misread the thread, indicates it is not supported by all browsers so I don't think we'll see the function.

    • Sean
    • 3 yrs ago
    • Reported - view

    I have to wonder if privacy concerns would be a deterrent to releasing that kind of function. 🤷‍♂️

    • Mconneen
    • 3 yrs ago
    • Reported - view

    @Sean.. 

    Hence my thinking of a work around.. Could do it on a Mac desktop.. not much of an issue.. but an iPad.. pretty sure Apple would have issues.

    • ScottCPA
    • Stephen_Scott
    • 3 yrs ago
    • Reported - view

    I've never used the https command, so I thought this would be a good test for me. The following returns an IP address using an IP api service (ipify.org api) I found online. It works but unfortunatelty it must be returning the Ninox Server IP address (My assumption since it isn't mine), not mine. When I remove the "do as server" I get an error message...."Request failed: error -".

    Thoughts?

    let response := do as server
    http("GET", "https://api.ipify.org?format=json")
    end;
    if response.error then
    alert(text(response.error))
    else
    alert(text(response.result));
    'Ip Address' := response
    end;
    'Ip Address' := text(first(response.result.ip))

    I've been looking for a test case anyway for grabbing data from the internet. Pretty neat stuff. I wish there was some better documentation examples. It took me a while to figure this out.

    • Sean
    • 3 yrs ago
    • Reported - view

    I was able to use the API without using "do as server". I kept my code simple and tested both the "text" and "json" response types...

     

    let response := http("GET", "https://api.ipify.org");
    response.result

     

    let response := http("GET", "https://api.ipify.org?format=json");
    response.result.id

     

    The IP address it returned didn't match the IP address in Network Settings though.

    • ScottCPA
    • Stephen_Scott
    • 3 yrs ago
    • Reported - view

    That did work for me, and it returns my public IP address.  

    let response := http("GET", "https://api.ipify.org");
    if response.error then
    alert(text(response.error))
    else
    'Ip Address' := text(response.result)
    end

    Is your ip address in Network Settings your internal private IP address (ie inside your firewall?)

    • Sean
    • 3 yrs ago
    • Reported - view

    Yes, you're right. I'm away from home and am using my phone as a mobile hotspot so I was looking at that IP address. I found my phone's public IPv4 and IPv6 public address using WhatIsMyIp.com and the IPv4 matches what ipify returns.

    • ScottCPA
    • Stephen_Scott
    • 3 yrs ago
    • Reported - view

    It worked from home for me but it doesn't work at my office (I tested this morning). But, we do have an advanced firewall and are using a Pi-hole on a Raspberry Pi device to block access to various websites and advertisements. I'll have to see if that site is accessible...I'm thinking the code is fine, but one of these devices on my network is blocking access to the ipify.org site.

    I also have been looking around for a similar site that might poll the MAC address of the network card too. We'll see...

    This is pretty neat stuff.  Better documentation with examples would save me a lot of time though.

    Thanks for your help on this Sean.

    • Icarus_Ralf_Becker
    • 3 yrs ago
    • Reported - view

    I found out that the script returns two different IP´s, if you use the skript in a f(x) or button and the one hand, and in a change-trigger on the other hand. I find that really strange. Does anyone have an explanation for that?

    • Mconneen
    • 3 yrs ago
    • Reported - view

    @Icarus ... what platform ?  If using Ninox cloud .. the change-trigger “might” return the IP address of the server.. and the function / button of the browser / client.

    These are just SWAGs (Scientific Wild A** Guesses) on my part.

Content aside

  • 3 yrs agoLast active
  • 17Replies
  • 2484Views