Strange API/Smug mug behaviour
Magnatronus
Registered Users Posts: 1 Beginner grinner
Hi,
my name is Steve and I am the author of MagONE a flash slideshow widget for SmugMug (using the REST API 1.2.0) and I had someone contact me the other day with a problem. They informed me that the widget would not display any of the photos from a public album on their account. When I tried this (using their nickname) it worked fine for me. But on further investigation I also found the same problem, it worked fine in Firefox, but not in IE7.
So after much hair pulling and a very sleeplesss night trying to find the errors in my code (I re-wrote a lot of the code at least 4 times :bash ), I think I found out what the problem is and thought I would share it so others did not have the same problem.
It all revolves around the gallery security setting Ext links, if this is set to NO then although the API returns the full path to a photo it can not be accessed outside SmugMug, which I guess is the correct behaviour.
But.....
In Firefox this does not happen and it seems to access the photo anyway (so no security ?)
Its even stranger in IE7 - to start with the image(s) will not show up (which I guess it what should happen), but if you go to the SmugMug album page ( public page not logged in) that the images are on and click on each image to display it, then use the URL returned by the API on an external site the images will now display correctly. It seems that once they are in the cache of IE7 the images are accessible externally.
So this means that Firefox seems to "get round" the no ext links option , while IE7 seems to work correctly until the images are in the local browser cache then you have external access to them. If you then clear IE7 temp files, again you have no access to the images. My guess is that IE always reads the cache for any http request first if it finds anything it serves this up.
sorry for the long post , but I thought this was worth sharing.
Steve.
my name is Steve and I am the author of MagONE a flash slideshow widget for SmugMug (using the REST API 1.2.0) and I had someone contact me the other day with a problem. They informed me that the widget would not display any of the photos from a public album on their account. When I tried this (using their nickname) it worked fine for me. But on further investigation I also found the same problem, it worked fine in Firefox, but not in IE7.
So after much hair pulling and a very sleeplesss night trying to find the errors in my code (I re-wrote a lot of the code at least 4 times :bash ), I think I found out what the problem is and thought I would share it so others did not have the same problem.
It all revolves around the gallery security setting Ext links, if this is set to NO then although the API returns the full path to a photo it can not be accessed outside SmugMug, which I guess is the correct behaviour.
But.....
In Firefox this does not happen and it seems to access the photo anyway (so no security ?)
Its even stranger in IE7 - to start with the image(s) will not show up (which I guess it what should happen), but if you go to the SmugMug album page ( public page not logged in) that the images are on and click on each image to display it, then use the URL returned by the API on an external site the images will now display correctly. It seems that once they are in the cache of IE7 the images are accessible externally.
So this means that Firefox seems to "get round" the no ext links option , while IE7 seems to work correctly until the images are in the local browser cache then you have external access to them. If you then clear IE7 temp files, again you have no access to the images. My guess is that IE always reads the cache for any http request first if it finds anything it serves this up.
sorry for the long post , but I thought this was worth sharing.
Steve.
0
Comments
This question comes up quite often, but more with people who are posting images on forums. They can see the image (since they are the owner), but other people can't.
If you checkout your GET requests for the images from Firefox using a sniffing app like Wireshark, you will see that the SMSESS cookie is being sent. If your flash app sends this cookie with the value set as your SessionID, I believe that this should solve your problem.
Cheers,
David
SmugMug API Developer
My Photos