I can get a user to authorize my app and later on I can post on their wall with this code:
new Facebook(...);
$facebook->api('/'.$uid.'/feed', 'post', array('message' => 'My app says hi'));
This works but the post that appears on the user's wall is by the user (it has their face and name next to the post with "via My App" next to it). Is there a way to have the post appear to be by the app (or my page) with my profile photo and name next to it?
I have tried many variations of the above including getting the app access token explicitly as documented but this gives the same result.
Is it possible for an app or page to post on a user's wall as itself rather than pretending to be the user?
It's not possible to post on the user's wall as app or page. And even if it's possible, it's not recommended!
Your best bet if you want to notify your fans about something is to post on your page's wall (as your page) where this post will appear in your fans news feed.
Also this can be done for your website fans (Likers): https://developers.facebook.com/blog/post/465/
you are authorizing the app with your users credentials as you said, right? That's why your posts are created by that user. You have to authorize the app with user name who has access to the page admin section.
And use from
and to
payload to facebook api.
Ref: https://developers.facebook.com/docs/reference/api/post/
try reading this
https://developers.facebook.com/docs/reference/api/post/
To publish a 'photo' object you need
- a valid access token
- publish_stream permission
and for code refer to this page