Missing Cities from Facebook all_cities_final.csv - facebook

I'm making Facebook App and I need to match the city from the user on Facebook with the city in my local database.
I've found the list of Cities from this link:
http://developers.facebook.com/attachme … _final.csv
But it seems that this is not the whole list, because there is no city from Macedonia in the list, but they do came up from auto complete when you try to write the city in your Hometown.
Am I missing something here, or is there some other list of Cities that I can find?
Also I've downloaded autocomplete_data.php from
http://developers.facebook.com/docs/reference/rest/ads.getAutoCompleteData/
and it doesn't have all cities.
Thank you.

So I just have the same issue and figured the cities are now places in the graph
https://graph.facebook.com/114897945188014
SELECT name,description,geometry,latitude,longitude,checkin_count,display_subtext FROM place WHERE page_id=114897945188014

Related

Using Moodle-Webservice core_course_get_enrolled_courses_by_timeline_classification

I use the webservice
core_course_get_enrolled_courses_by_timeline_classification
my curl looks
https://MyMoodle/webservice/rest/server.php?wstoken=MyToken&wsfunction=core_course_get_enrolled_courses_by_timeline_classification&moodlewsrestformat=json&classification=inprogress&customfieldname=id&customfieldvalue=7159
The User with the id 7159 is enrolled in diffrent courses, but the Webservice gibes as result:
{"courses":[],"nextoffset":0}
Whats wrong? I hoped that i get as result a list of courses which the user is enrolled in.
Thanks for help
For further readers - it might be in reason that user might selected to show some category of courses, for example - archived courses :)
So, when I had switched to "All courses" all begin to work fine.

Linkedin API - get company ID from url

Is there a way to get the numeric company ID from the URL of a company page on Linkedin? This ID is the one I'll use to query the Linkedin API and get more information on the company.
I need to get the ID from the information provided with the URL, to use it to get the rest of the information related to the company page.
It seems unusual to me that you need to dig in the HTML code to get the company ID you need to use to interact using the Linkedin API, so correct me if I'm wrong.
I know there have been similar request handlers, but I'm wondering why there isn't a handler available to get the company ID like there is to get the profile id from its url:
https://api.linkedin.com/v1/people/url=xxxx
I know there is the search company handler, but that is a text based research and I found myself with some inconsistent results from time to time.
I don't want to crawl the company page for the ID since I get blacklisted by Linkedin if I do it too many times from the same IP address.
I am aware of these answers:
how to get companies id from linkedin jsapi
How to get the company id from Linkedin Company URL in PHP?
LinkedIn API for Company Directory
But they seem outdated or marginally related to what I ask and since LI API has changed much over the past year, if there was any development on this.
EDIT: added more info on the kind of ID I am looking for. I had erroneously marked #display's answer as correct but unfortunately it's not what I am looking for. I am referring to the companyId that I'd use to query the Linkedin API concerning that company.
June 2020 Update
Most of the above methods no longer work, including using the jobs page URL and hovering over search results. The 2019 update by #rinogo almost works. To make it easier, paste this script into the console. Of course, updates from LinkedIn may case this to fail eventually.
(() => {
const name = document.location.pathname.replace(/^\/[^\/]*\/([^\/]*)\/?/, '$1');
for (let json of Array.from(document.querySelectorAll('code'))) {
try {json = JSON.parse(json.innerText);} catch (e) {json = null;}
if (json && json.included) {
for (let incl of json.included) {
if (incl.universalName === name && incl.objectUrn) {
return 'Company ID for [' + incl.universalName + '] is [' + incl.objectUrn.substr('urn:li:company:'.length) + ']';
}
}
}
}
return 'Company ID not found';
})();
2020 update
Please see Whatabrain's answer.
2019 update
Arbitrary Pages
The solutions provided previously are outdated. The following is not the best solution, but it will work in a pinch. It does require "crawling", unfortunately. (I know this doesn't answer OP's question, but it should help others who arrive here since this is the top Google result)
View the HTML source for the "home page" of the company whose ID you are trying to discover. Search for the string, https://www.linkedin.com/company/. The first instance of this string on the page is followed immediately by the company ID.
You can verify that you have the right company ID by visiting the entire link (including the Company ID), e.g. https://www.linkedin.com/company/123456.
If this approach stops working at some point, please comment below and I'll update this answer.
UPDATE: I'm using the strategy today (7/2/2019) and am finding that the last instance is currently more reliable due to some changes made by LinkedIn. Ultimately, the overall strategy remains sound. View the source and find some repeatable way to search for the company ID. It may take some experimentation to find a reliable approach.
Pages with admin rights
If you have admin rights to the Page, finding the Company ID is trivial. While signed in, visit your Company Page. The Company ID is used right within the URL.
For example:
Admin URL for Company Page: https://www.linkedin.com/company/123123123/admin/
Company ID: 123123123
Or, you can of course use the API to find the Company ID for any Company Page of which you are an admin.
We can obtain the company id from the url of a company page. For this we must have a valid linkedin account.
Once you are in the company page, just check the url
https://www.linkedin.com/company/123456
The numbers given as 123456 is the respective company id.
Hope that you meant this company id.
The way I got the ID is by going to the page, and clicking "View Jobs" (as long as they have some).
Then the URL will have the ID on it:
https://www.linkedin.com/jobs/search?locationId=OTHERS.worldwide&f_C=12345678
To find your LinkedIn company ID:
Open LinkedIn in a new tab
In your search results, select your company page.
Navigate to the URL at the top of your company page.
Copy the number immediately following 'www.linkedin.com/company/' but before the question mark.
Solution provided by: https://support.klipfolio.com/hc/en-us/articles/216181827-Use-LinkedIn-as-a-data-source
Anyone still looking a solution, please follow:
Go to https://developer.linkedin.com/plugins/company-profile
Type the name of the company in the Company Name box and it will suggest the name.
Once you select the Company page, click on Get Code button.
You will get the company page id with data-id.
Screenshot:
Successfully used this method 2/27/2019.
Search for the company in LinkedIn.com
When located in search window, HOVER over the company name.
Locate ID at the bottom showing where the URL will direct.
Hovered over company name in top arrow, gathered ID in displayed URL at bottom arrow
I have a much easier solution that works! (15/01/2019)
Go to the company's page e.g. https://www.linkedin.com/company/something
Then view the source (CTRL+U in Chrome). Search for the expression "company/". The second match contains the ID! Have fun.

Accessing the Yelp Api

In my application I have to add a button, and display the number of stars received from YELP as shown in this image: , and upon clicking it I should navigate to a new View that will show the Yelp reviews.
1.) I have read the Yelp API, and was unable to find a way to append the Store Name to get its ratings in Yelp.
For example: I need to get the YELP ratings of Agra Indian Restaurant, so how should I get the JSON return values pertaining to Agra Indian Restaurant?
Is there any tutorial or sample code that illustrates how I could get this done?
You can get some examples form here:https://github.com/Yelp/yelp-api/tree/master/v2/ .I used php examples.Since the Search Parameters doesn`t contain the store name, you can using the business name as the "term" query parameter and the full business address as the "location"
parameter.
It's worth noting that if you know the business you're looking for specifically, you're
better off using the Phone API to look up info directly.

Geo Location aware Posts

I am trying to publish a post on the user news feed with the users current location.
According to the documentation on 'Post' I need to add the location information to the 'place' attribute.
But is seems it is associated with an already defined 'place'. My requirement is to just push the lat / long info to dsiplay the city. Is this possible with the current graph API ?
Currently there is no public API to push a new place info, you can only pass existing "places".
You could begin by finding the name of the current city and country by inspecting some nearby places:
/search?type=place&center=LAT,LONG
Then you can try to find the Place ID of that city:
/search?type=place&center=LAT,LONG&q=CITY, COUNTRY&limit=1
(You may have to add the state field for countries that use that division.)
Now you have a Place ID to use for your post.

how to edit facebook events using graph api?

I am developing in which i am getting my events and my friends events using facebook graph api, now i need to perform following function.
Change event's location name.
Change event's location latitude and longitude.
Get event's Admin.
I have searched a lot but i couldn't get healthy response and solution, so please any body help me to get rid of this problem. Thanks in advance.
Looking at the Graph API https://developers.facebook.com/docs/reference/api/event/
You can change the name of the event location using the 'Location' field. Also the event owner can be retrieved with the 'Owner' field.
To change the long/lat you will need to edit the 'venue' field. Which according to to API docs is an 'object containing one or move of the following fields: street, city, state, zip, country, latitude, and longitude fields'