Facebook API post not available - ruby-on-rails

With certain facebook posts, that are seemingly completely public (for example) I am unable to pull their information from the graph API no matter what combination of permissions / application / access_token I give it.
Even worse, I just get a generic error:
https://developers.facebook.com/tools/explorer?method=GET&path=10153801897821136&version=v2.5
{
"error": {
"message": "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
"type": "GraphMethodException",
"code": 100,
"fbtrace_id": "GU3r05xB4VK"
}
}
It seems that for whatever reason facebook has decided that I shouldn't be able to view this post (likely because of privacy settings) but I can very obviously view the actual post on facebook, even as a logged out user.
Any thoughts as to how to get this to work via the API?

Within Facebook API, a public post that can be retrieved, refers to a post published by a Facebook page not a Facebook user profile.
In order to view this post, you will need user_posts and user_friends for the owner of that video and the querying user.
So for querying userA to get a public video from userB (who is a friend of userA), the permissions for both are
{
"data": [
{
"permission": "user_friends",
"status": "granted"
},
{
"permission": "user_posts",
"status": "granted"
},
{
"permission": "public_profile",
"status": "granted"
}
]
}

Related

Microsoft Graph API - Search email using application permission

I want to search email using Graph API in my own developed application. By referring to these threads - Graph Api: Region is required when request with application permission , How to use Graph API Sharepoint Search from console app , Search content with application permissions , I tried to run the search which resulted in Application permission is only supported for the following entity types:site, list, listItem, drive and driveItem. (Request and response json is below).
Does it mean that using an app like a console application developed in C# will not be able to search the emails (as message is not mentioned in error response - only these are mentioned: site, list, listItem, drive and driveItem) even if it has required secret, auth token and permissions?
Request:
URL : https://graph.microsoft.com/beta/search/query
Request Payload:
{
"requests": [
{
"entityTypes": [
"person"
],
"query": {
"queryString": "contoso"
},
"Region" : "NAM",
"from": 0,
"size": 25
}
]
}
Response:
{
"error": {
"code": "System.UnauthorizedAccessException",
"message": "Application permission is only supported for the following entity types:site, list, listItem, drive and driveItem.",
"target": "",
"httpCode": 403
},
"Instrumentation": {
"TraceId": "7174e417-a2fe-02e5-1523-1fcda7a66886"
}
}

What ID should I use on the business discovery API?

I'm trying to retrieve public stats from Instagram accounts using the business discovery API (https://developers.facebook.com/docs/instagram-api/business-discovery) but I'm not sure which node to use to retrieve this data. (I'm new on this API)
I have tried running the example on the site (
?fields=business_discovery.username(bluebottle){followers_count,media_count}) on graph explorer using:
/me
{
"error": {
"message": "(#100) Tried accessing nonexisting field (business_discovery) on node type (Page)",
"type": "OAuthException",
"code": 100,
"fbtrace_id": "D0siT4a4GR0"
}
}
my business account id (me?fields=instagram_business_account)
{
"error": {
"message": "(#100) Tried accessing nonexisting field (business_discovery) on node type (Page)",
"type": "OAuthException",
"code": 100,
"fbtrace_id": "Hq0erqHbbxP"
}
}
my business account's Instagram user id (?fields=instagram_accounts)
{
"error": {
"message": "(#100) Tried accessing nonexisting field (business_discovery) on node type (InstagramUser)",
"type": "OAuthException",
"code": 100,
"fbtrace_id": "BCAkvwtsZXV"
}
}
Any guidance would be appreciated
In Graph API Explorer: first call /me/accounts. The API should return a list of Pages that you have a Role on, and their IDs:
Locate the Page that you connected to the Instagram Business Account and click its ID. This will populate the ID in the path field, automatically perform a GET request, and return the Page's name and ID fields.
Next, click in Search for a field and type instagram_business_account until it appears in the typeahead dropdown menu. When you see instagram_business_account, click it. This will append the field in the path using the fields parameter. Submit this new request, and you should get back the Instagram Business Account connected to this page.
Now that you have the Business Account ID, see this: https://developers.facebook.com/docs/instagram-api/getting-started

Facebook opengraph (#2) Service temporarily unavailable

i have an app on which users post their shows. I want to add rsvp_events so that users can post their activity on facebook whenever they click on going button.
I have setup everything, everything seems ok, but when i try to post the activity on facebook using Koala i get the following error,
"error": {
"message": "(#2) Service temporarily unavailable",
"type": "OAuthException",
"is_transient": true,
"code": 2,
"fbtrace_id": "H7WRzXo7d3C"
}
}
i am using koala gem and i am doing like this ,
#facebook = Koala::Facebook::API.new(oauth_token)
#facebook.put_connections("me", "namespace:go" , show: "http://samples.ogp.me/173451500015976867")
Any Solution?

Google My Business API fails

Getting a strange error message and there is literally nothing on it anywhere I look. Granted access to Google My Business API, followed directions here;
https://developers.google.com/my-business/content/get-started
All went well, but the expected 200 response was actually the below;
{
"error": {
"status": "PERMISSION_DENIED",
"message": "The request was blocked. Quota configuration not found for the requesting project.",
"code": 403,
"details": [
{
"violations": [
{
"description": "The request was blocked. Quota configuration not found for the requesting project.",
"subject": "project:XXXXXXXXXX"
}
],
"#type": "type.googleapis.com/google.rpc.QuotaFailure"
}
]
}
}
Anyone have any idea how to add quotas in Google Developer console, or, alternately, if this message is a result of expired permissions perhaps? (Granted access in Feb, did not use until now?)
This is what you get when the project in question does not have Google My Business API access, as granted through their official process etc. When I used the correct project I got a 200 and all is well.
So sayeth the GMB folks themselves, who answered my email same day!

Google+ Domains API Not Configured

When I try to post an activity to Google+ I get the error:
{
"error": {
"code": 403,
"message": "Access Not Configured. The API (Google+ Domains API) is not enabled for your project. Please use the Google Developers Console to update your configuration.",
"errors": [
{
"domain": "usageLimits",
"message": "Access Not Configured. The API (Google+ Domains API) is not enabled for your project. Please use the Google Developers Console to update your configuration.",
"reason": "accessNotConfigured",
"extendedHelp": "https://console.developers.google.com"
}
]
}
}
I know this question has been asked before here, but I have a different message in my error. I've also enabled Google Domains API in the console. I'm using a Gmail account and I also receive circles and contacts information with the following scopes:
https://www.googleapis.com/auth/userinfo.email
https://www.google.com/m8/feeds https://www.googleapis.com/auth/plus.login
https://www.googleapis.com/auth/plus.stream.write
https://www.googleapis.com/auth/plus.me
My Post body is:
{
"object": {
"originalContent": "Happy Monday! #caseofthemondays"
},
"access": {
"items": [
{
"type": "domain"
}
],
"domainRestricted": true
}
}
Found out this feature is only available for Google Apps customers not anyone else.
Reference
Have you created (or using) the API_KEYs in your Google project?
If not, go to Google developer console and select the credentials section under APIs & Auth and create the API key relevant for your application.
If you already have a key, try regenerating a new one

Resources