Я не использую Javascript SDK, потому что это на стороне клиента, тогда как я делаю вызов на стороне сервера.
Я хочу сделать публикацию на странице, чтобы я мог создать с ней рекламный креатив. Я могу прекрасно выполнить вызов в инструменте Graph API Explorer, но я не могу сделать тот же вызов (с теми же долгоживущими токенами доступа, которые продолжают работать в Graph Explorer) из Javascript. Вот мой код:
tok = <valid and never expiring user token>;
var pg_tok = <valid and never expiring page token>;
var act_id = <account_id>;
var pg_id = <page_id>;
var call_to_action = 'INSTALL_MOBILE_APP';
var fb_app_url = 'https://itunes.apple.com/us/app/id284882215';
var msg = 'Test creative, ya see';
var pic_url = 'https://s3.amazonaws.com/<path_to_my_image>';
var ROOT = 'https://graph.facebook.com/';
var pagepost_endpoint = ROOT+pg_id+'/feed';
console.log(pagepost_endpoint);
var pagepost_params = {
access_token: pg_tok,
call_to_action: {
type: call_to_action,
value: {link: fb_app_url}
},
message: msg,
picture: pic_url,
published: false
};
console.log(pagepost_params);
var pagepost_res = HTTP.post(pagepost_endpoint, {params: pagepost_params});
console.log(pagepost_res);
Я поиграл с кучей параметров и данных для того, где pagepost_params идет в HTTP.post, который выдает ошибку (кстати, это HTTP Meteor).
-Помещение всего в params
дает ошибку: {"error":{"type":"Exception","message":"No Call To Action Type was parseable. Please refer to the call to action api documentation","code":1373054,"is_transient":false}}
.
-Помещение всего в data
дает ошибку: {"error":{"message":"(#200) This API call requires a valid app_id.","type":"OAuthException","code":200}}
.
-Помещение access_token
в params
и все остальное в data
дает ошибку: {"error":{"message":"Invalid parameter","type":"FacebookApiException","code":100,"error_subcode":1349125}}
.
Еще одна подсказка для всех: если я изменю HTTP.post на HTTP.get и просто поставлю access_token
в params
и не включу никаких других параметров (в params
или в data
), вызов завершится успешно, и я увижу прошлые сообщения, которые я сделал на этом страницу через Graph Explorer (только те, у которых есть published: true
), поэтому токен доступа и конечная точка работают, просто что-то не так с POST-записью вместо GET-запроса и конкретными параметрами, которые я использую.