I'm trying to make an app which asks users permissions and auto posts to his wall as himself. It works but there is an issue. That post can see only himself: "Shared with: Only me"
How can i make, that it would be: "Shared with: Public"?
Default setting for each user is user's default setting
if you have same problem with other users check here & Default Activity Privacy
https://developers.facebook.com/apps/YOUR_APP_ID/auth
Related
We've created a facebook app that autoposts articles to the page associated by its admin to our app.
We have setelled the right permissions 'manage_pages', 'publish_pages', and the pages are loaded but we found out that "can_post" value returned with each page is set to "false", when the user listing the pages is the admin. After some digging we found out that it's because of "Disable posts by other people on the Page" option that was enabled.
So the question is: is there a way to post to those pages when this option is enabled, cause the admin doesn't want to allow visistors to post on his page ?
Edit:
As it could seems unclear for some people, I'm adding more informations about the process, that I thought it's obvious:
So beside the right permissions
We're asking for long-live user access token
Then use it to get a permanent page access token, so we can post as a "Page"
But the problem occurs before we get to this stage as from the beginning, when the user accepts the permissions, and when we list his pages, those pages are listed like "cannot post on it", where others says that it's allowed to post on it. And due to this difference we found out that it was caused by the option I talked about above: "Disable posts by other people on the Page"
Regards
We have setelled the right permissions 'manage_pages', 'publish_pages', and the pages are loaded but we found out that "can_post" value returned with each page is set to "false", when the user listing the pages is the admin. After some digging we found out that it's because of "Disable posts by other people on the Page" option that was enabled.
That’s because you are using the admin’s user token to request the list of their pages - and as a user, they are not allowed to post by page settings.
Go and request {page-id}?fields=can_post with a page access token for the page ... et voilà, now that says it can post, because using the page token the app is allowed to post as the page.
I want to send an email. Inside of the email will be a link to share on facebook. However, instead of defaulting to share "On your own Timeline" I'd like it to default to "On a friend's Timeline'. Is this possible.
What setting do I need to change to make that drop down box default to "On a friend's Timeline"?
Disregard. I found this duplicate question and solution after posting.
Configure Facebook share dalog to show the default as "Friends' Timeline"
I'm following the Facebook Android Scrumptious tutorial. In the last step, if I post a meal, it's ok, the confirm action id is shown. However, when I posted a meal with a friend in it, I got this error:
You haven't enabled tagging for this action type (10151609805121984) yet. Please update your Open Graph settings in the App Dashboard.
The error seems to be very explicit, must be the settings somewhere in the dashboard, but I can't find it. I tried going to "Permissions" section and add "publish_actions" to the field "Users and Friends permission", still didn't work. Am I missing anything? Thanks.
In the App Dashboard > Action Type, you have to check :
Tags: Allow users of my app to tag other users for this action.
Screenshot:
One more thing, the permissions should be set with the login code, not in the Configuration Permissions settings (which has no effect on the app's actual permissions)
I have built several websites, and for some reason none of them will post to my wall anymore when I "like" a blog post, or like the site in general. (Using Iframe) Example:
http://madhatterulti.com/
http://www.reyniersaudio.com/blog/
The funny thing is, I had a friend try it, and it posted to his wall fine. Though, this person did not have timeline enabled, and I do.
Anyone have any ideas?
It appears the "like" appears in my "activity log". By default, the "like" is set to be "allowed on timeline". I am able to change this to "hidden from timeline". This setting implies to me that it should be showing up on the timeline.. yet it is not. Also, I can change the setting to "featured on timeline", but once again, this does not work.
It seems that the way the Like button works has changed (or not really!). I tried liking one of your blog posts and my own website and nothing appeared on the timeline. But reading the Like button introduction:
The Like button lets a user share your content with friends on
Facebook. When the user clicks the Like button on your site, a story
appears in the user's friends' News Feed with a link back to your
website.
And indeed, it appeared on my friend's news feed and ticker!
I suppose we cannot consider the timeline as the new news feed. Because it's not!
AND it seems that there are two ways a liked URL is going to appear on the user timeline which are
1) when the user has something to say, i.e when the user writes something along with the like:
2) if you click on the More Recent Activity block. And allow this activity to appear on your timeline.
Now maybe there are other cases (that I'm not aware of!) for a liked URL to appear in the user's timeline directly (maybe with custom Open Graph objects or a custom Facebook script that would decide for you?).
I linted one of your URLs and it states the the fb:admin and fb:app_id should be specified for better click-thru rates
Like Button Warnings That Should Be Fixed
Admins And App ID Missing: fb:admins and fb:app_id tags are missing. These tags are necessary for Facebook to render a News Feed
story that generates a high clickthrough rate
http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.reyniersaudio.com%2Fblog%2Frecording-computer%2Frecording-computer-cpu-benchmarks-sandy-bridge-nehalem-and-bulldozer-processors-compared
I have timeline enabled and it did no post to my timeline at all. Strange huh?
EDIT
Based upon some comments from Roeland on other responses:
The funny thing is, this worked about a week ago. It WOULD post to my
timeline. In addition, if I go to my "activity log" it shows that I
liked something. It also supposedly lets me "allow it on the timeline"
which is the setting by default.. yet it does not show up on my
timeline
I'm wondering if it could have something to do with too many people reporting the stories as spam, or the app id was hijacked and used for spam purposes (or the domain/ip being marked as abusive, etc). Maybe this has caused Facebook to become more cautious when "showing" this liked content. ifaour has seen the content on his feed and timeline, however I could not get it to show.
My concern is that no app_id was specified and not admin was specified either. You can reuse the same app_id with many comments/like buttons (contrary to your assertion that you must have a new app id for each like button...not sure where that came from).
I have a working Facebook app that most users will use just once. Leading into the Facebook workflow, users indicate if they want their wall to be written to or not. Based on that, I either ask for the publish_stream permission or not.
Later, a small percentage of users will come back and use the app again. Some of the people who previously did not want to write to the wall (and thusly I didn't ask for publish_stream) now want to write to their wall.
How do I request an additional permission after the user has already authorized the app?
Similarly, how can I query a user to list which permissions they have already granted?
It's as simple as adding the new permission to a new fb:login-button:
<fb:login-button scope="publish_stream">
Let me write on your wall!
</fb:login-button>
So for example you have the above hidden in a DIV and if the user tick a checkbox you show the DIV and prompt the new permission!
A good live example of this is on the Facebook Test Console:
Click login to "add" the application
Then click on examples
Under fb.api choose does-like
Now you can see that even after being *connected to the application (test console app), you can actually have another login button to prompt the user!
EDIT:
To check if the user has granted your application a permission, just use this FQL:
SELECT read_stream,offline_access FROM permissions WHERE uid=me()
This would return something like:
[
{
"read_stream": 1,
"offline_access": 0
}
]
To test it, just use the test console posted early.
EDIT 2:
To construct the link yourself without XFBML or Javascript, you just need to add the scope parameter with the additional perms (reference):
https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=publish_stream
Or if your are using the PHP-SDK:
$loginUrl = $facebook->getLoginUrl(array(
"scope" => "publish_stream"
));
I was looking at this the other day! If you read through http://developers.facebook.com/docs/authentication, there are several different ways of displaying a little popup box to request extra permissions.
I'm not sure how this works with a Facebook App, but I know on a website using Facebook Connect, if you try to request permissions that the user already has accepted, then the page automatically redirects back to the redirect_url that you set.