Hi I created a page on Facebook, and used Facebook Graph API to post photos to the page.
The post address is like:
https://graph.facebook.com/2104798556250663/photos
And Post parameters are:
message=url_encoded_message
access_token=your-access-token
url=image_url
privacy={"description":"public", "value":"EVERYONE"}
The post request was successful, as I was able to see posted photos in the "Timeline Photos" album and can see them in my timeline. If I click a photo and then click "Edit" I can see the setting is "Public".
However, when viewing without logging into Facebook, or as another account, none of the API posted photos are seen. If I went to "Timeline Photos", I can only see some wording like "25 Photos · Updated 13 minutes ago".
To further test it, I manually uploaded a photo, and the photo also went to "Timeline Photos". This time I could see the manually uploaded photo, even without logging into Facebook.
I have checked the privacy setting by clicking the triangle on upper right corner on my page, then click "Settings", then click "Privacy" on the left column, set "Public" for the "Who can see your future posts?". And uploaded new photos via API after that. Still doesn't change the situation.
To sum up, API posted photos are invisible although the setting is "Public", while a manually uploaded photo is visible.
Thank you for your time.
Sounds like your app is still in development mode - so all content created through it, will only be visible to people with a role in the app.
You need to set your app “live”, for this photo to become visible to everyone.