facebook graph api search rules - facebook

Does anyone have any idea what boolean logic is acceptable on the facebook graph api? They have the worst documentation, forums, assistance known to the developer world. I tried using OR and it does not seem to be working. AND seems to be implied with spaces or commas.I am trying to search for multiple terms or using OR and NOT.

You can do AND and OR, when searching for posts, like:
http://graph.facebook.com/search?q=watermelon%20|%20banana&type=post
The AND operator you can use with space or +:
http://graph.facebook.com/search?q=watermelon%20banana&type=post
You can search for terms like "bruce lee" too, using "":
search?q="bruce lee"&type=post
Resuming: " | " = OR
" " and "+" = AND
I did not find a way to use the NOT operator
And I agree, it is the worst API documentation ever.

It seems, | is not working any more, I've just discovered it today. Only posts matching ALL words from query are found.

Only to share:
'POST' search will no longer be possible from April 30th 2015. See https://developers.facebook.com/docs/apps/upgrading#upgrading_v2_0_graph_api under the paragraph "Removed endpoints":
Public post search is no longer available.
(/search?type=post&q=foobar)

Right now if you enter a number of words in the search term, separated by space - then you should get back relevant entities that have those words (anywhere in the entity, in any order). "bruce lee" --> "Bruce is a nice guy, he likes Lee" would be a possible result.
There is no "or" operator that works.
I opened a case at Facebook, which was closed hours later for the reason it "works as specified" here: https://developers.facebook.com/x/bugs/138296099674000/
This is a bug tracking tool, but the details you added here don't
represent a bug report - it appears to be you asking for assistance on
how to make certain things work in the search API or a feature request
for the search API to start supporting different operators - only the
behaviours documented here are
supported:https://developers.facebook.com/docs/reference/api/search/
Obviously I can't disagree with the correctness of this claim (especially given #tesserex and #vbNewbie 's observations above) BUT let's not give up.
Since I think we all agree the current functionality is limited / limiting, I would like to encourage all of the people that agree with me to open bug reports and / or feature requests (how do you open a feature req. for FB?) so that this will get prioritized correctly.
I don't think the current functionality does Facebook or the developers any good, and I don't think it should be a major effort for FB to improve it significantly.
So let's gently apply some pressure ;-)

It's not working like that anymore, but I'm finding that this will work now (for search for watermelon OR banana: http://graph.facebook.com/search?q=watermelon&q=banana&type=post

Related

GitHub: filter for issues that are either assigned to somebody or somebody is mentioned

Is there an option how to show all issues that are either assigned to me or that I'm mentioned in at the same time? Filtering by using the dropdown menu allows only to check for one of those and using is:open assignee:#me mentions:#me filters for all issues for which both constraints are true (basically & instead of |)
The first answer to this question from 8 years ago suggests it is not possible to use an "or" query. Does this still hold true?
What is the best alternative to filter for all issues that are relevant for me, ideally in the whole organization - third party tools?
The involves:user may be useful here:
Search by a user that's involved in an issue or pull request
You can use the involves qualifier to find issues that in some way involve a certain user. The involves qualifier is a logical OR between the author, assignee, mentions, and commenter qualifiers for a single user. In other words, this qualifier finds issues and pull requests that were either created by a certain user, assigned to that user, mention that user, or were commented on by that user.
Simply searching for the user's Github handle may be useful too.
Using a tool like gh (github cli) will allow you to lest and filter items too. A script can easily concatenate the results:
gh issue list --search "involves:#me is:open"
You can have it spit out json as well by adding --json, that way you can parse and further process the results as well.

How can I find all public comments for a Github user?

Until recently I was able to find all my public comments using a link on my profile page. I was using this functionality to keep track of all issues where I have commented, but not contributed anything. It was under a section called "Public Activity".
This function seems to have been removed. I can not find anything about it on the help page about profiles.
Does anybody have any information on when and why this was removed?
You can do this with an advanced search query. In the Issues search box, enter "commenter:username".
Or if you want to search a specific repo: "RepositoryName commenter:username".
This link is quite useful, it's a live feed of all issues you've commented.
https://github.com/notifications/subscriptions?reason=comment
Alternatively, this link is also helpful and is probably what the OP asked (issues where one has written comments):
https://github.com/search?l=&q=commenter%3AVadorequest+is%3Aissue&type=issues
Replace "Vadorequest" by the username you're looking for
You can also use the global search with commenter:Vadorequest is:issue to achieve the same result
Also, if you want to track discussions you participated in, this link might help:
https://github.com/search?l=&q=commenter%3AVadorequest&type=discussions
Replace "Vadorequest" by the username you're looking for
You can also use the global search with commenter:Vadorequest to achieve the same result
This 4th (and last) is not related to the OP's question, but might come in handy. It lists all PR you were requested as reviewer.
https://github.com/notifications/subscriptions?reason=review_requested
Type involves:<username> in the search box on the GitHub's main page. This will find all the issues that the specified user commented on, was assigned to or mentioned in.
For example, if the user's name on GitHub is unclebob, the search query should look like:
involves:unclebob
Or when searching information about yourself if you're logged in to GitHub, simply:
involves:#me
Note, that unlike involves similar search qualifiers - author and commenter - will omit certain results from the search:
author will find only the issues that were started by the user; if the specified user comments on the issue that was started by someone else, author query won't return it in the search results.
E.g., compare involves:unclebob and author:unclebob type:issue.
commenter will find only those issues where the specified user commented second or later (creator of the first comment in an issue is considered its author and not a commenter); if the user starts an issue and then never comments on it, the commenter query won't return it in the search results.
E.g., compare involves:unclebob and commenter:unclebob.
In other words, when it comes to searching comments, author and commenter return only a subset of involves' results. So I recommend using involves not to miss anything.
Since GitHub Universe 2016, the profile page has changed.
It still has a "Contribution activity" though, which includes your own comments. But you might need to click on "Show more activity" to see past the last few weeks.
And you can email yourself your own activity since last June: "Email updates about your own activity".
If you want a list of all issues where you either created them or were a commenter on them, this link works best:
https://github.com/notifications/subscriptions?reason=author,comment

How do you keep track of your comments on GitHub issues?

I want to find all the GitHub issues that I commented on. I tried searching for commenter:mbigras type:issue like the Searching issues and pull requests GitHub article suggests. But that method returns fewer results than the public activity section of my profile.
See both attached images:
Search method
Doesn't display current results:
Profile method
Gets mixed up with other public activity:
Is there a way to get the full history of my comments on GitHub?
EDIT
author:mbigras type:issue gives wider results but still not the full history:
What I'm looking for is a way to quickly view all my comment/issue history in all issues.
EDIT
I emailed GitHub about this. Search doesn't match the public activity section because search indexes issues by creation date and not last active date.
How do you keep organized about which issues you've commented on?
Search for commenter:username in the main Github search box.
For example commenter:gavinandresen
To see recent activity, select Recently updated from Sort dropdown
You can also narrow the search: is:issue commenter:gavinandresen
I have also been very frustrated when I could not find an issue that I have commented on a while ago. I even did not remember the project it was in. I knew only the problem I was referring to.
Then, I went to the Notification settings on Github and saw there is an Include your own updates option that is unchecked by default.
Once you check it, Github will send you an e-mail notification about every comment or PR you make. They you probably want to add an appropriate label and filter for emails so Github messages do not clutter an inbox.
My life has changed since then. Now, every time I want to find something I have written on Github, I just search for it in the e-mail notifications.
You can view all the issues on Github you have commented on by going to https://github.com/notifications/subscriptions and selecting Reason as Comment.
This will show all the issues that you've commented on.
You can also filter the issues by selecting other reason such as Assign, Author, Manual, Mention, etc. but you can select only one reason at a time. Also, you can filter the issues by repository by selecting the concerned repository from dropdown after clicking Repository
Search All GitHub using the search term is:issue author:#me
You can also check the following links.
For all your subscriptions
https://github.com/notifications/subscriptions
For all your issues
https://github.com/issues
For all your pull requests
https://github.com/pulls
In case someone is interested to know how to find these links, go to github's resi api documentation. The URL's are not explicitly described there. However, look for the page names bellow REFERENCE.
If you lowercase the relevant word (for example Issues become issues, Pulls become pulls) and put that after https://github.com/, you most probably will find what you are looking for.
This might be a little late, but there's also another way to find what issues/PRs you have participated in. This method also brings in a lot more things you might be interested in too!
When you are on the website main page, on github.com, use the keyboard shortcuts as described here to open your pull requests or issues. The shortcut for these is in particular [g, i] for issues and [g, p] for pull requests (I remember g by go, but whatever works for you.)
After you go to the page directed by these shortcuts you are greeted by an entire screen of goodies you can use! The search bar can be edited and the buttons can be used to make your experience fast!
Type involves:<your username> in the search box on the GitHub's main page. This will find all the issues that you commented on, was assigned to or mentioned in.
For example, if your username on GitHub is unclebob, the search query should look like:
involves:unclebob
Or if you're logged in to GitHub, then simply:
involves:#me
Note the difference between involves and similar search qualifiers - author and commenter:
author will find only the issues that were started by you; if you comment on the issue that was started by someone else, author query won't return it in the search results.
E.g., compare involves:unclebob and author:unclebob type:issue.
commenter will find only those issues where you commented second or later (creator of the first comment in an issue is considered its author and not a commenter); if you start an issue and then never comment on it, the commenter query won't return it in the search results.
E.g., compare involves:unclebob and commenter:unclebob.
In other words, when it comes to searching comments, author and commenter return only a subset of involves' results. So I recommend using involves not to miss anything.
Also, since Github is on the web, any HTTP search engine works, eg Google, Bing, etc. This works to the extent of your search engine's quality and the uniqueness of the writer name.
(Indeed, I actually do this all the time when I need to find any previously written web (engine)-accessible publication, including those on StackExchange. Names I use are 1 in probably an infinity, so Google often works better than forum search options.)
(Sample Google link.)
If you want to search for multiple users in a single search, use it like in the global search bar without the OR logical conjugation:
commenter:FantomX1 commenter:FantomX1-github
since the similar google way approach with 'OR' would not work
commenter:FantomX1 OR commenter:FantomX1-github

Is there a list of facebook graphpaths one can use?

I'm playing around with the facebook api and finding it... extremely... frustrating. I suspect I'm not looking in the right spot, so apologies in advance.
All the resources I read seem to think that this page is useful. I'm finding just the opposite (as much as i like "tables of contents" in books, online i find them poor. You cannot really "search" a table of content of that code or key word and instead have to open up every link, which is silly in 2013).
Is there some sort of resource - facebook approved or not - that lists all the "graphpaths" one can use?
I'm aware - somewhat - of the "me" graphpath, but what are the others?
I personally use Graph API Explorer to explore it.
There exits 2 different choices of starting path. Either /me or /{id}.
That ID can be personid, pageid or any facebookid.

Search "ALL" public events using Facebook graph search API

Although this question has been asked before but that was an year before and not exactly what I wanted to ask. So, here it goes:
I am using https://graph.facebook.com/search?q=conference&type=event to find all the events having a keyword "conference".
Question 1: I just get one page of results and the pagination link at the bottom of the page yield to a page with no data (just some structure). However, searching from my facebook I can see many many more events. How can I search for "ALL" (or a considerable number of events say 200+) ?
Question 2: In case, if the search results are limited how can I restrict to events from just one country. So, for example I am only interested in conferences that are in US and not the ones in Europe. How do I do that?
Question 3: How do I search for multiple keywords. Say I want to search for "conferences AND data".
I would appreciate your help.
Thanks
P
To search for multiple keywords, use "+". In this case "conferences+data".
about Question 1: note that q=conference means that you are searching for events with keyword conference in them. You are not searching events by category. If you want to search for all events you can use q=*, this will give you ALL public facebook events. They will not be filtered by location/distance. I have tried to limit the search by location & distance, but so far without any success.
add &limit=200 to your query string