I'm trying to use youtube api to get a list of subscribers to a channel i own then check a user's Email to find out if he's subscribed or not. Now I'm using this page to test my first step https://developers.google.com/youtube/v3/docs/subscriptions/list and inserting data as follows and all other fields are empty
As you can see I get this error and the part label contains an error while the value is "snippet". how to solve this problem and if solved as I need is it available to get a list of all users' emails subscribed to my channel as a list?
get a list of subscribers to a channel i own
If you want check the subscribers of your YouTube channel you need to use the resource subscription.list with these fields:
part: subscriberSnippet
mySubscribers: true
And authenticate with OAuth2.0.
then check a user's Email
Email is a private information, you can get it only if the owner of the channel give you the permission.
Related
requirement: I want to get all mentions (caption, comment and tag mentions) for my Instagram user through the Instagram graph API without using the webhook. But I haven't seen any way to do that. in following end points I able to get results for the tags end point by using the ig-user-id . but for other endpoints I couldn't able to get any results since I don't know how to get comment ids and media ids that are mentioned my account. any one please help me on this to archive this
[Documentation][https://developers.facebook.com/docs/instagram-api/guides/mentions/]
GET /{ig-user-id}/tags — to get the media objects in which a Business or Creator Account has been tagged
GET /{ig-user-id}?fields=mentioned_comment — to get data about a comment that an Business or Creator Account has been #mentioned in
GET /{ig-user-id}?fields=mentioned_media — to get data about a media object on which a Business or Creator Account has been #mentioned in a caption
POST /{ig-user-id}/mentions — to reply to a comment or media object caption that a Business or Creator Account has been #mentioned in by another Instagram user
I have created a simple Slack App app where the only purpose is to send a message to a channel. I understand that there is the conversations.list API to list all public channels to get the correct ID.
However, as a first step, I just want to send the message to the app channel itself. If I use the D... ID it works as expected. No invite by the channel is needed. But how do I get this ID? conversations.list only returns publich channels, but no the app channel itself.
In Slack, there is no such thing as an app's channel. There is a DM channel between every user and your app/bot. In these terms, to send a DM message from your app/bot to the user, you need to know ID of this user and specify it as a channel argument of the postMessage API request.
The ability to pass a Slack user ID as channel is somewhat unique to chat.postMessage. If you try this with other API methods which expect a channel ID only (conversations.info), you'll get "error": "channel_not_found". The docs state:
Begin a conversation in a user's App Home
Start a conversation with users in your App Home.
With the chat:write scope enabled, call chat.postMessage and pass a user's ID (U0G9QF9C6) as the value of channel to post to that user's App Home channel. You can use their direct message channel ID (as found with im.open, for instance) instead.
Source: https://api.slack.com/methods/chat.postMessage#app_home
Note: The above behavior assumes you're using the bot token. If you provide the user token instead, you'll make the user DM themselves.
Now, if you *do* need to get a user's App Home channel ID for use outside of chat.postMessage, keep reading... Here are three ways to do it, each with their own shortcomings:
1. chat.postMessage
Well, it's worth mentioning that if you are going to use chat.postMessage, it returns the resolved channel ID in its response: "channel": "D01234ABCDE". You can save this for later use.
2. conversations.open
The API method im.open referenced in the docs above has been renamed to conversations.open, which can be used to obtain the user's App Home channel ID:
Use the user token, and set users to the app bot ID, or
Use the bot token, and set users to the user ID.
Though, I've observed some weirdness with conversations.open, which may or may not be a dealbreaker for you:
It requires stronger OAuth permission scopes than ones required to initiate a private DM with a user than chat.postMessage (a bot token with chat:write is insufficient), and
It behaves strangely with respect to the "open state" of a conversation. For example...
I tested this method with a user token.
The user for that token already had a DM channel with the app! (Doesn't that mean the conversation is already open?)
Strangely, the first response had is_opened: false (and subsequent responses had is_opened: true).
3. app_home_opened
The event app_home_opened fires when the user opens your App Home. If you handle this event, you can save the channel in the event payload on your server and use it later, obviating the need to later call conversations.open.
Since the event only occurs if and when the user opens your app's App Home, this approach is more of an optimization than a standalone solution.
4. A better way...?
Due to the drawbacks outlines above, if anyone knows a better way of getting the App Home channel ID for a Slack user, please, comment on this answer!
You can get the channel ID of the app channel through the GUI if you:
navigate to a message in the channel
go to the more actions men
select copy link
The channel ID will be the string following archives/ eg:
{myorg}.slack.com/archives/{channel_ID}
Using this approach would work for any channel in the slack app, though it's unlikely to be the best approach since it's manual vs something more programmatic.
I'm building an RoR application that uses the Facebook Graph API, scraping a users events via their user_access token. I'm essentially taking that user token and making a Graph call to the API, getting all the events the user has either given a rsvp, created, declined, maybe and not_replied response to the events they've been invited to. Here is my query...
GraphAPIEndPoint = [created, declined, maybe, not_replied]
GraphAPIEndPoint.each do|endpoint|
data = Koala::Facebook::API.new(access_token)
events = data.get_connections("me", "events/#{endpoint}", fields: ['id',"name","description","place","start_time","end_time","timezone","ticket_uri", "cover"])
end
This query gives me the desired data but I'm unsure whether I'm getting private events from the user, which I don't want. After I've received the data, I've checked some source url's in my browser, which show a Facebook default error page saying, "Sorry this page isn't available". Other Facebook url's I've tested show me their events as public events, only the ones that seem specific to a group of friends or family give me this default error page. Also, if the events were deleted by the author (which could be an answer as to why I'm getting the default error page), why am I still getting the JSON for the event?
My only assumption is that I am, and if so, what are the privacy parameters to prevent this from happening and give me only the public events?(Please no FQL suggestions)
Thanks for your help!
I'd like to get the impressionBasedCpm from the Api Explorer ( and later from my app).
I can log in with an youtube partner account and toggle the oauth switch. I set all scopes to checked.
Then I try to enter
ids: contentOwner==NAME_OF_CONTENT_OWNER (not the id, retrieved from the content API, https://developers.google.com/youtube/partner/docs/v1/contentOwners/list#try-it)
metrics: impressionBasedCpm
start-date: '2015-05-01'
end-date: '2015-06-01'
The output still tells me:
You do not have permission to execute this method.
Can someone help me?
My guess is that when I authorize the application I seam to still login as a channel, so the query as a content owner is not allowed. I picked the main one with the email address. But when I'm on youtube I can switch to a specific Content-Manager Channel/Account.
Even when I try to just get the 'likes' for the contentOwner it doesn't work. If I try to get the likes based on the channel_id it works. But I like to get reports for a youtube partner that uses youtube's cms.
cheers
This query won't work because it does not follow the semantics of the API. You need to provide the ID of the contentOwner in order to get a 200 OK response. Name of Content Owner cannot be unique and hence would lead to erroneous results.
I am trying to use this url for the event attendee information
I am not getting full details of the attendee, but response contains the attendee id only
<attendees>
<attendee>
<event_id>3135062055</event_id>
<id>110210217</id>
</attendee>
<attendee>
<event_id>3135062055</event_id>
<id>110216615</id>
</attendee>
</attendees>
but in the doc I can see the full repose!
what parameters I need to add for this one to get a full attendees information and also
I want to get all the attendees info in one shot itself ?
please help me to achieve above.
Thanks in advance,
Venkatesh
If you have authorized Eventbrite's API docs to access your account, then your user-authentication credentials will automatically be added to any requests that you make using the documentation's 'Try it Now' feature.
If you add a user_key, or Oauth2.0 access_token to the request, then you should be able to successfully access your attendee information.
Your other option is to configure your event to have a public attendee list. This would allow any attendee information that is publicly visible on your event page to be available via the API URL that you shared (without requiring you to add your private authentication tokens). Make sure that you reserve the use of this feature for events where the attendees are comfortable disclosing this info.