Flutter - get coarse location to improve search results - without explicit permissions - google-maps

So I've been developing a Flutter app, and I have a form that enables the user to choose a location from a SearchBox. This SearchBox is provided by this package https://github.com/Bernardi23/search_map_place.
It makes use of Google Maps API to provide results. It allows a location parameter to refine these results.
However, I don't want to ask the user explicitly for his location, as I don't need an exact location, but a very coarse one, simply to refine the results (if the user is from the US I don't want to show him results from Europe).
Is there a way to do this without asking explicitly for location permissions?

I would use a package like flutter_ip and pass the result of any external IP address found to an API like https://ip-api.com.
BUT it might be against the acceptable use policies of both PlayStore and AppStore, if you feel you can risk it, go ahead (This is a feeling I have, it might be totally ok)

Related

How to track clicks on Links using GTM

I have an ads campaign and I don't know from where users came to my website and
How can I know which one of those links users click must
www.example.com/twitter
www.example.com/whatsapp
www.example.com/linkdIn
www.example.com/<this will be the source name>
I want to know which link users came from using GTM.
All links must open on the landing page.
Thanks.
You don't really need GTM to track click source. The GA script translates certain query parameters to traffic source dimensions automatically. Those query parameters are called UTM parameters. Here's the documentation on how they're mapped to GA data.
You can use the url builder tool to generate a url if you find it difficult to figure out the proper syntax.
Basically, you just generate a link to your landing, embedding there the information about the source and then you post the link on the said source. And you carefully do that for all sources.
Sure, GA also tracks the referrer, but TLS will eraze the query params of the referrer, so it may be much more awkward to use to determine the source, but GA already tries to parse the referrers to determine the source automatically, when no utm params are set. UTMs will override the automatic referrer logic.
Finally, GTM. GTM is powerful. It allows you to do more than that. For example, it's able to override the above described logic and set the source, medium, keyword, even referrer, using JS. Ultimately, mostly because of GTM's ability to deploy custom JS, it is possible to override any field in tracking and add extra fields.

Forge API: Get all changed items

I need to get a list of all changed items in my project in BIM 360. Can I do this using forge-api.
Ho, regarding with the latest question [If my service is not available and I will miss some webhook events, how can I get all the changes that were made after the last webhook event received] :
If your requirement is to know which items are changed in one folder of Docs, Search API with filter can be of use. e.g. the endpoint below will return all items which are updated since a certain time.
https://developer.api.autodesk.com/data/v1/projects/{{project_id_with_b}}/folders/{{one_folder_id}}/search?filter[attributes.lastModifiedTime]-ge=2019-10-15
More filters options are described at
https://forge.autodesk.com/en/docs/data/v2/developers_guide/filtering/
While if you wanted to know all updates in one call, I do not see currently the way is available. While, Activity API is on the way, it might be helpful to know all activities during a certain dates, then you could filter out what you are interested in and locate the corresponding module>>files/resources etc.. but Activities may probably be categorized with specific scopes e.g. admin activities, project actives, issue activities etc. so it is not one call knows all updates.. And these APIs may not be exposed in the same time.

LinkedIn API v2 integration

I'm trying to integrate LinkedIn API v2 to the app I'm developing for my client and I need help with it. Basically, I need to allow users to fetch some of their LinkedIn profile data and save it to the platform. As I understood, the first version of the API will no longer be supported. https://developer.linkedin.com/docs
So, the problem is that the default field set I was able to retrieve is extremely limited. And it seems like I should apply for the Developer Program here to gain additional API access
https://business.linkedin.com/marketing-solutions/marketing-partners/become-a-partner/marketing-developer-program
I already submitted the application but haven't yet received any response. The frustrating part is that I'm not even sure if this is what I should do to get access.
Here's what I already discovered
Here it's said that the partner's program isn't available
https://www.linkedin.com/help/linkedin/answer/97491
Here it sends me to the partner program
https://developer.linkedin.com/support/faq
Should I choose marketing? https://developer.linkedin.com/partner-programs
I suppose so because other options seem to be irrelevant. So I already applied here
https://business.linkedin.com/marketing-solutions/marketing-partners/become-a-partner/marketing-developer-program
But still no answer
Here are the developers facing the same issues with no answer as well
https://www.linkedin.com/help/linkedin/forum/question/712591
https://www.linkedin.com/help/linkedin/forum/question/711176
https://www.linkedin.com/help/linkedin/forum/question/711027
Here seems to be the answer to a similar question but still, no specific link or steps to apply for a partner's program
LinkedIn API V2 - Can't get summary, skills and headline
Here they also tell about some partner's program but again without specifics
Linkedin oauth2 r_liteprofile not being returned from api
Here in the official doc, it's also said that I should apply to the program (which I did)
https://learn.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/migration-faq?context=linkedin/consumer/context
I applied on the 23rd of January and I'm still waiting for the approval without even knowing if this program will give me the API access I need
So I need to know one of the following
If my application will be approved it'll give me the extended access to the API v2 (r_fullprofile permission)
If the application I submitted isn't enough what else should I do in order to get the extended access to the API v2 (r_fullprofile permission)
It feels to be a simple process and I don't really understand why it has to involve the Marketing Developer Program when I only need to access some of the fields. I'm sure there is a reason for that. Could anybody from support provide some steps that I or my client should take on order to get the API access?
I already created the app as a developer here and successfully tested it
https://www.linkedin.com/developers/apps
So, just to be clear, the problem is not in something not working technically. It's just that I receive a very limited set of field of a user's profile and I need to expand it

Security of GAS for G-sites?

I want to create a script that runs on a Google site. The script would perform a specialized calculation for a given user and then display the answer for the user. The script would depend upon user input, but the code itself should not be viewable by the user. I want the code to exist in a "black box" so that the calculation formula can be kept secret. Is this possible?
I searched the documentation, but only found this, which does not address this question:
https://developers.google.com/apps-script/guides/services/authorization#permissions_and_types_of_scripts
Whether your App script is embedded in a site or written as a standalone script does not change a lot of things... the only difference will be the way you include it on a page as a gadget.
If it is embedded it will be available from a list of scripts in the page editing, if not you'll have to use the .exec url of the deployed webapp.
Anyway, that does not change the way people will have access to the app.
You can define these parameter when you deploy the app (which is mandatory in both cases), allowing for anonymous access or requiring to be logged in.
If I understood you correctly, you would like to restrict the access to some people but not share the code.
Depending on how you defined the access mode above and wether you are using a Google Apps inside a domain or not, you will be able to do it using 2 ways :
in a domain you can get the logged user identity and use that to accept/deny showing the app.
in a "normal" gmail account you will have to implement some sort of logging feature to request a user name and password to give access to the active part of the app.
In both case you never need to share the script itself, this sharing parameter is independent from the webapp access.
I hope I understood your question correctly... if not, feel free to comment.
You might check out the Private Functions section of the following page.....the example is similar to what you're referring to, I think.
https://developers.google.com/apps-script/guides/html/communication?hl=ru
I don't fully understand how they work and haven't used them myself, but I bookmarked it to figure out later. Maybe another user who understands Private Functions better can explain...

way to get rough user location without browser pop-up permission

Is it possible to find the rough location of a user on the web without using the html5 geolocation stuff which brings up a box asking for the user's permission? I have tried MaxMind but it seems pretty poor.
Your webserver (apache or somethigng like that) gets the users IP-adress when he sends a request to your server. There are some services in the web that can tell you the country and city of that address. Google for "location from ip address" to find those services. That is the best you can do without asking the user.
Everything more accurate MUST be explicitely allowed by the user himself for legal reasons. If a user finds out that you are tracking his position without having asked him, you can go to jail!!
I've used IPlocation.net They provide a list of several providers and test them against your own IP to see if they get it correct.
I personally went with IPinfo.io