Трябва да намеря приятели на потребител, който е влязъл с Facebook в моето приложение Parse, в облачна функция. Как мога да постигна това? Опитах се да инсталирам facebook-node-sdk
(https://github.com/Thuzi/facebook-node-sdk/), но въпреки че съм копирал всички зависимости в същата папка, той се оплаква, че не може да зареди пакета, когато го require
. Намерих и този въпрос: Как мога да получа първото име на потребителя от facebook в облачен код?, но отговорът там не работи (FB
не е дефиниран). Мога да правя необработени REST извиквания към Graph API с моя маркер за достъп, използвайки Parse.Cloud.httpRequest
, но управлението на крайни точки, маркер за достъп, параметри и т.н. бързо става объркващо. Какъв е предпочитаният начин за достъп до Facebook Graph API от Parse Cloud Code?
Как да получите достъп до API на Facebook Graph в Parse Cloud Code?
comment
Имахте ли късмет с това?
- person Rambatino   schedule 13.11.2014
comment
@Rambatino Добавих решението си като отговор.
- person Can Poyrazoğlu   schedule 14.11.2014
Отговори (1)
Не можах да използвам никакви библиотеки, така че в крайна сметка използвах обикновени HTTP REST заявки. Например, опитвах се да получа потребителско име, пол и потребителски идентификатор, използвах този код, като конструирах ръчно URL адреса (където имах token
променлива на токена за достъп на потребителя:
Parse.Cloud.httpRequest({
url: 'https://graph.facebook.com/v2.1/me?fields=id,gender,name&access_token=' + token,
success: function(httpResponse) {
var responseData = httpResponse.data;
...
където responseData
сега е JSON обект с върнатите данни. Това не е най-доброто нещо, но работи чудесно за прости задачи.
person
Can Poyrazoğlu
schedule
13.11.2014
Буквално използвах този метод около час след като коментирах! Страхотни неща, също работи! Въпреки че потребителите най-вероятно ще бъдат на v2.2 сега :). Освен това, ако някой е озадачен относно authData дори след включване, все още трябваше да извлека() потребителя, за да има действително дефинирано поле authData: s
- person Rambatino; 14.11.2014
Това може да е малко късно, но се опитвах да използвам това решение без резултат. Токенът за достъп не се приема и API на графиката връща грешка, че токенът за достъп не е активен. Попаднахте ли на този проблем?
- person BarakChamo; 13.01.2015
:/ откъде на първо място получавате токена за достъп.
- person fatuhoku; 03.12.2015
@fatuhoku пробвай
user.get('authData')['facebook']['access_token'];
- person Can Poyrazoğlu; 03.12.2015