AngularJS osm leaflet - access denied to tiles - angularjs

I use osm in my AngularJS app and in Google Chrome browser I get the following messages
So I do not have access (any more) to the tiles. Three days ago it worked fine. If I open the application in Firefox everything is fine and works.
Is this an adjustment in Google Chrome or how I can find out what I have to do in order to get it work with Google Chrome anymore.

Not sure if this will help, but from PINTOSTACK, in
https://help.openstreetmap.org/questions/83887/unable-to-download-tiles-403-forbidden
"Maybe this will help someone else, for those using leaflet, we fixed it by changing http to https on the tileLayer png. Seems to work on localhost in Chrome & Edge."
I made the change and this worked for me.

You are not adhering to the tile usage policy. That's why your access denied message links to that policy.
OSM became stricter in enforcing the policy recently.
Could be related to another provider that slashed It's free tier by 99% recently and therefore users flocking to OSM.
As the tile usage policy stats: "OpenStreetMap data is free for everyone to use. Our tile servers are not."
(see: https://operations.osmfoundation.org/policies/tiles/ )
So please follow that policy closely if you use OSM for light use. For use in a business context or an app you shouldn't use those tile servers by the OSMF anyway (see the usage policy that asks you not to hardcode the tile.openstreetmap.org URL into an app).
Alternatives can be found here: https://wiki.openstreetmap.org/wiki/Tile_servers
If your angular application is producing only light use and not used for business contexts, check your dev tools in Chrome about the User-Agent and referrer your angular app is sending.

Related

Webcam not working on Production, not showing permits popup

I have a project using React but the component WebCam that works perfectly in all browsers locally; but when tested in a server, doesn't show the permits pop-up to allow the use of the camera.
I don't think the code is the problem. Instead some security on the browsers. I tried to give permissions directly to the site on Chrome and I can't change it. And is not blocked, on either browser.
Some other considerations:
I haven't install any ssl certificate, is just a small testing server to play, so I wasn't thinking to install them for the moment.
could this be the problem?
The getUserMedia API requires you to serve the page over HTTPS (or on localhost). So if you haven’t set that up, that is why it’s not working in production.
See the Security section of this documentation for more details: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia#security

is it possible to use data from a website that i don't really have access to for my cordova/phonegap app

I'm in the process of making an app for my assessment at uni using cordova/phonegap and was just wondering if its possible for me to use data from a my unis ecom website for my app without having any back-end access to it, so like images/prices/descriptions...synced to my app?
yes it is certainly possible, because Cordova means working via Javascript and a HTML5 Rendering Engine. It is with some reservations entirely possible to load data from an webserver and use it in an App.
The only thing is to ask, whether it is also a smart-choice. If you want your app not to break when the data from the website gets changed (see https://en.wikipedia.org/wiki/Link_rot )
Also the server can somewhat prevent access of data from contextes outside of the webpage, especially if TSL/HTTPS connection is offered and content is only available after authentication.
Yet anyway its the magic of Javascript to be very good in doing things with web/online resources and displaying HTML5. Cordova and PHonegap is hence imo much better than the very challenging JAVA-Dalvik and IOs native programming that one would have to use else
Likely not,
Google and Apple frowns on using apps as wrappers for websites.
Quote Google Developer Program Policies - Spam and Placement in the Store
Do not post an app where the primary functionality is to:
Drive affiliate traffic to a website or
Provide a webview of a website not owned or administered by you (unless you have permission from the website owner/administrator to do so)
And
Quote Apple iTunes Guidelines - 2.12
Apps that are not very useful, unique, are simply web sites bundled as Apps, or do not provide any lasting entertainment value may be rejected

Google Analytics with Silverlight HTTPS cross domain policy problems

I'm sending simple messages to Google Analytics from a Silverlight app. They look something like this (data changed):
http://www.google-analytics.com/collect?v=1&tid=foobar&cid=foobar&t=pageview&dp=foobar&dt=foobar
Very simple API. If I use HTTP it works beautifully.
If I use HTTPS, I run afoul of Silverlight's cross domain policies. According to the docs, google-analytics.com needs to approve the cross-domain call by hosting either a clientaccesspolicy.xml (Silverlight-specific) or crossdomain.xml (original used by FLASH). Turns out they do host crossdomain.xml, and I can see that Silverlight downloads it (via Fiddler), but apparently Silverlight doesn't like the file's content and doesn't allow HTTPS calls to that domain (System.Security.SecurityException).
So.. at least at the moment, I can't use Google Analytics from Silverlight using HTTPS. Does anyone know a work around for this issue?
Note, I can't just use HTTP, because that causes IE to issue a "Allow Mixed Content" prompt which causes problems for some of our customers. I need to use HTTPS like the rest of our app.
EDIT: OK, I took a totally different approach, using HtmlPage.Window.Invoke to call a 3 line Javascript function to do the asynchronous send rather than using WebClient in the Silverlight code. Works like a champ. Anybody see any potential problems with that?
I suspect there may be a way to make this work, because I know google-analytics.com is very cross-domain friendly for exactly this reason.
If you absolutely can't get it to work another option would be to proxy the hits. If you do this, you'll want to make sure to use the ua and uip override fields in the hit you're sending so that they show up in Google Analytics with the IP address and User Agent of the original visitor and not your server.
Here's some more info on using a proxy server with the Measurement Protocol:
https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide#using-a-proxy-server

App Engine SSL for Custom Domain within Developer Console (not via Google Apps)

When will SSL support for custom domain be available within the developer console, instead of having to go over to Google Apps? I read somewhere it says Q3 of 2015. But seems like people have some ways of getting that to work already. Is it a private beta feature?
Building some apps for a client and they can't get their Google Apps account to work and we already have the custom sub-domain mapped to the GAE, and just need the last piece. Help!
This is the tracking issue, indeed Q3 seems to be more likely: https://code.google.com/p/googleappengine/issues/detail?id=10794
FWIW, I detailed a bit my solution to get things working via Google Apps in this Q&A: AppEngine subdomains to modules without wildcard mapping, maybe it can help with your customer's problems in the meantime.

Google Checkout displaying desktop version on mobile devices

The Google Checkout Mobile website says that "once you've integrated Google Checkout with your website, there's no additional work required to allow customers to buy from you using their mobile devices", but I'm not seeing this happening on either iOS or Android devices I'm testing. The desktop site comes up, which is workable, but not a very good UI on the small screen.
Since there's "no work required", I'm not quite sure how to start to debug this. Ideas?
I took some screenshots of what it looks like iOS 6 and Android ICS.
According to the support forums, Google Checkout for Mobile devices is just a big fat phony.
I'm just going to go out on a limb and post an answer because I noticed in your header link that there was no User-Agent set. The User-Agent server variable is often used to detect if the user is coming from a mobile browser or not. Here is Google's discussion about Mobile Redirects. So, my suggestion would be to try and set the User-Agent in your server-side code prior to your redirect. The whole workflow would be like this:
Detect the user's current User-Agent variable. Here is a PHP example: $_SERVER['HTTP_USER_AGENT'] and store this variable for later use
Receive the URL from Google Checkout
Prior to your redirect, set the User-Agent. This time, it's a cURL example:
curl_setopt($ch,CURLOPT_USERAGENT,$theUserAgentYouDetected); where $ch is the cURL instance. Here is a normal PHP example to set the user agent: $httpRequest->setHeaders(array('User-Agent' => $theUserAgentYouDetected);
Make your normal redirect
I hope this helps

Resources