Is it possible, through any means, to query the Facebook API to return a list of attendees for a private group event?
I would expect that an admin of the group user token or an app(token) added to the group would be required.
Any ideas?
Reading thus far, I suspect the above is not possible at all in any way.
There used to be an API endpoint for this, however it has been removed:
https://developers.facebook.com/docs/graph-api/reference/v15.0/event/attending
The Graph API for Events has no way of accessing the users that are attending, only the count.
https://developers.facebook.com/docs/graph-api/reference/event/
Related
I am trying to get facebook API to give the below information of all the events which are public.
Event name,
Description,
Start date and time,
Location
I have tried using below API in Graph API Explorer. It is giving the response if I give the 'event id' of event created by me. But not all the events which are available publicly.
GET /v12.0/{event-id} HTTP/1.1
Host: graph.facebook.com
Is it like we dont have option to get the details of public events or we have any other API/option to get the public event details?
Thanks in advance!
Since facebooks data restriction update it's no longer possible to get public events of pages because you need to have page-public-metadata-access for this page. Facebook says that you need the following:
successful completion of the App Review process
business verification
admin role for the Page
If you want to get the information of you own pages you just need to give the pages_read_engagement permission and the pages_read_user_content permission.
I was thinking about using scrapy to scrape the data without api but the following link stopped me from doing this https://www.octoparse.com/blog/5-things-you-need-to-know-before-scraping-data-from-facebook.
I want to use Instagram's Graph API on my backend server to retrieve data about an Instagram post. On my frontend, users will submit a post URL (like https://www.instagram.com/p/CAvPIm2lszQ/). Then on my backend, I want to take the ID of the post from that URL (so in this case CAvPIm2lszQ) and then I'm hoping that I can pass that ID thru the Instagram Graph API and then retrieve the data that I need (media URL, caption, poster username, etc.).
So would that be possible? I did find documentation on "IG Media" for the Graph API, but under permissions, it says, "A Facebook User access token from a User who created the IG Media object, with the following permissions.."
Unless I'm misunderstanding it, I'm not sure if I'll be able to access posts from various public accounts. I think it's also worth mentioning that my users are not logging into their Instagram accounts to use my service so the only possible "User access token" would be my own.
Any ideas on how I can go about this? I was using the instagram.com/p/{post_id}/?__a=1 endpoint to meet my needs before but it doesn't work on my production server for some reason. So I'm kinda stuck.
Most probably you will not be able to achieve that using Instagram API. First of all the ID you are referring to CAvPIm2lszQ is not the ID that you will use for getting IG Media. The ID is different (it's numeric value like in the sample request from the page you've linked). The full URL that includes CAvPIm2lszQ is in the shortcode field.
At the moment it is not possible to look for the post detail using shortcode. If you want to use that endpoint you need to get the real post ID first, for instance by listing list of posts from given user.
But in order to do so - you need to use Facebook login authorization window to get token from given user. Alternatively you can try to request https://developers.facebook.com/docs/instagram-api/guides/business-discovery but it requires going through App review and having your own company to pass the Business Verification. Keep in mind that this endpoint returns information only about Instagram Professional accounts (Business/Creator account). You will not be able to get information about regular accounts.
And the last thing about ?__a=1 endpoint. This is not the official Instagram API. They use it only for their own purposes. Most probably your server IP address has been blocked due to sending too many requests.
I invited new user into slack team using slack API method users.admin.invite. I need to join him into some public and some private channels. Channels I gave as params in my inviting request, but with private channels I have trouble. It is not channels and it have another method to join user into it.
Method groups.invite need userId to join him.
Is it possible to add this user in the slack private channels (groups) using slack API?
The undocumented API method users.admin.invite has a channels property, where you can specify a list of IDs for the channels your want a new user to be automatically invited to.
This also works with private channels (I just tested it to confirm). All you need to do is to specify a private channel ID instead, which start with a G instead of a C.
You can use the API method groups.list to get the correct private channel ID. (private channels are called groups in the Slack API)
Example request:
https://slack.com/api/users.admin.invite?token=TOKEN&email=name#example.com&channels=G12345678
If you still getting errors using this approach than its most likely due to other issues, e.g. Slack does not recognize the email address or your access token does not have the admin right.
For more details please see the unofficial documentation of users.admin.invite on github, which I have updated accordingly.
Seems like this API endpoint isn't currently documented by Slack because it's still in development and could change in the future(which may be what you're running into now). Here's a link to a github issue talking more about it. https://github.com/slackhq/slack-api-docs/issues/30
I was able to find a github with documentation for the undocumented slack API endpoints, but those could have changed since they're not official https://github.com/ErikKalkoken/slackApiDoc/blob/master/users.admin.invite.md
From these unofficial API documentation it seems like you'll have to pass in the channelID instead of the channel name. To get channel IDs you'll just need to call the channels.list end point
I'm using Foursquare API search venues call in my app for getting places to check-in. Unfortunatelly it seems this search result doesn't include private venues (like homes etc.). I saw other 3rd party apps working with private venues in search results, so it should be possible. But how?
The only 3 ways that I know of getting private venue information is the following:
You are the manager of the venue: Using endpoints like VenueGroups allows you to pull all venues, including private ones, that can be managed by you. In this situation the Foursquare app would be making user-less calls using an app created by the same user.
The manager of the venue has authenticated with your application: similar to #1 but in this case you would need to make user-based calls to VenueGroup end-points as the manager of the private venue. In this situation you would need the manager to authenticate to your app.
A user is authenticated with your Foursquare application and checks-in to a private venue: once a user has authenticated to your app. you can request that all future checkins be posted to an endpoint you create on a public server. Whenever that user checkins in anywhere, you get a ping with that information.
I have to warn you though, based on what you described, I believe those 3rd parties might be in violation of the Foursquare TOS.
I'm trying to access public information from API's without actually having users grant access to the API in my mobile Application. Is this actually possible, or are the Oauth permissions for any sort of access to an API?
For example, I want my application to be able to pull a list of nearby restaurants for my application without asking the user if Yelp can access the application. Since the user just wants nearby food information, the request for restaurants isn't user specific, and the user shouldn't actually have to login.
Another example is if I want Eventbrite to simply give me a list of upcoming events. Is there a way to get this list without having a user authenticate Eventbrite within my application itsself?
You can call an API endpoint with your own token (between your Eventbrite account and your application key), and if the data is public (even if it's 'owned' by a different Eventbrite account) we'll return the data.
For example, if you want a list of events across our Event Directory (Event Search endpoint: http://developer.eventbrite.com/docs/event-search/) you can call this method with your own OAuth token (you can grab your OAuth token here: http://eventbrite.com/myaccount/apps).
Hope that helps!