Tag: facebook

如何删除X框架选项响应头,允许应用程序iframed

我原来的问题是…我得到的Facebook对话框错误: An error ocurred. Please try again later. An error ocurred. Please try again later. 解决这个问题唯一的办法是安装铬扩展… 忽略X-Frame标题( https://chrome.google.com/webstore/detail/ignore-x-frame-headers/gleekbfjekiniecknbkamfmkohkpodhe ) 所以我怀疑这是由于浏览器的内容政策.. testing:铬和safari 操作系统: mac osx 10.10 服务器: localhost / nodejs 我尝试通过安装browser-policy包,然后安装来解决这个问题… 服务器/ policy.js Meteor.startup(function () { BrowserPolicy.framing.allowAll(); BrowserPolicy.content.allowInlineScripts(); BrowserPolicy.content.allowEval(); BrowserPolicy.content.allowInlineStyles(); BrowserPolicy.content.allowDataUrlForAll(); BrowserPolicy.content.allowSameOriginForAll(); }); BrowserPolicy.framing.allowAll(); BrowserPolicy.content.allowInlineScripts(); BrowserPolicy.content.allowEval(); BrowserPolicy.content.allowInlineStyles(); BrowserPolicy.content.allowDataUrlForAll(); BrowserPolicy.content.allowSameOriginForAll(); 但是我只是想出另一个问题:由于违反内容安全政策,所有外部资源(字体,JavaScript的Facebook的SDK等)无法加载.. 概要 我只需要放弃X框架选项响应头,允许通过Facebook iframed,要么使用浏览器策略或不… …当然,不要强迫用户安装任何扩展名… 任何帮助将不胜感激…谢谢你,

NodeJS,护照和Facebook,为什么我不能注销

使用此示例login并通过Facebook https://github.com/passport/express-4.x-facebook-example进行身份validation 我的困惑是为什么我无法注销。 这是一个基于一个应用亭的应用程序。 我需要强制从应用程序注销,以便每个后续用户获得默认的Facebooklogin对话框。 我尝试做一个HTP DELETE,但只从用户的帐户删除我的应用程序,它不会实际login用户。

FacebookTokenError:这个授权码已被使用

好的,所以这是很多原因的常见错误。 我正在尝试修改现有的Node-Passport-Facebook模块,让桌面上的本地图像在login后上传到用户的Facebook帐户。这是我的目标。 这是我正在扩展的代码模块 https://github.com/passport/express-4.x-local-example 而这又是基于https://github.com/jaredhanson/passport-facebook 我从来没有通过console.log('错误在这里..错误, “这个授权码已被使用。” 令人困惑的是,返回的authentication代码总是不一样! 所以当我尝试将它换成访问令牌时,它怎么能被使用呢? 任何人都可以提供一些build议,或者我可能会尝试下一步? 我的直觉是有一些关于Passport.js没有正确实施。 所以我的问题是,我将如何修改下面的代码(基于这个护照的例子) https://github.com/passport/express-4.x-facebook-example/blob/master/server.js login后上传图片? var express = require('express'); var passport = require('passport'); var Strategy = require('passport-facebook').Strategy; var CLIENTSECRET ='<client secret>'; var APPID ='<app id>'; // Configure the Facebook strategy for use by Passport. // // OAuth 2.0-based strategies require a `verify` function which receives the […]

Node API – 如何将Facebooklogin链接到Angular前端?

重写这个问题更清楚。 我已经使用passport-facebook在我的网站上处理与Facebook的login。 我的前端是在Angular,所以我现在知道需要了解什么是调用API路线的正确方法。 我已经有几个使用Angular的$http服务调用 – 但是作为这个login与Facebook实际上重新路由的Facebook页面,我仍然可以使用通常的: self.loginFacebook = function )() { var deferred = $q.defer(); var theReq = { method: 'GET', url: API + '/login/facebook' }; $http(theReq) .then(function(data){ deferred.resolve(data); }) return deferred.promise; } 或者它是完全正确/安全/正确的程序,直接在窗口位置中的URL: self.loginFacebook = function (){ $window.location.href = API + '/login/facebook'; } 而且,从这个我怎样才能从API发回一个令牌? 我似乎无法修改callback函数来做到这一点? router.get('/login/facebook/callback', passport.authenticate('facebook', { successRedirect : 'http://localhost:3000/#/', failureRedirect : 'http://localhost:3000/#/login' […]

尝试通过node.js http POST到“graph.facebook.com”时,发生“读取ECONNRESET”错误

尝试通过node.js http模块向“graph.facebook.com”发送POST请求,但每次都要读取“ECONNRESET”。 所有参数都是有效的 – 通过curl检查相同的请求,它的工作原理。 var http = require('http'); var token = "…"; sendTextMessage(XXX, "Text received"); function sendTextMessage(sender, text) { var messageData = { text:text }; var json = { recipient: {id:sender}, message: messageData, }; var body = JSON.stringify(json); var options = { host: "graph.facebook.com", path: '/v2.6/me/messages?access_token=' + token, port: 443, method: 'POST', headers: {'Content-Type': […]

麻烦连接webhook到Facebook messenger bot

我正在尝试使用NodeJS,Express和一个heroku服务器创build一个Facebook chatbot。 我在heroku上创build了我的webhook,并通过Facebook进行了validation和保存。 然后我运行这个代码来连接我的webhook到Facebook。 curl -ik -X POST "https://graph.facebook.com/v2.6/me/subscribed_apps?access_token=<token>" 这个返回{success:true}。 所以然后我开始添加回复传入消息的代码,但我似乎无法连接。 每当我发送消息,我都没有回复。 这是我的代码: var express = require('express'); var bodyParser = require('body-parser'); var request = require("request") var app = express(); var port = process.env.PORT || 3000; // body parser middleware app.use(bodyParser.urlencoded({ extended: true })); app.get('/', function (req, res) { if (req.query['hub.verify_token'] === '8FKU9XWeSjnZN4ae') { res.send(req.query['hub.challenge']); console.log("app.get […]

对没有调用callback的NodeJS函数进行摩卡testing

我有一个function,使用Facebook页面发送消息给Facebook用户。 // send text message to an user function sendTextMessage(sender, text, callback) { messageData = { text: text } request({ url: 'https://graph.facebook.com/v2.6/me/messages', qs: { access_token: token }, method: 'POST', json: { recipient: { id: sender }, message: messageData, } }, function (error, response, body) { if (error) { console.log('Error sending message: ', error); callback(-1); } […]

节点Restify发回一个整数?

这是当我尝试让我的机器人通过Facebookvalidation我的url时得到的。 我知道这是一个数据types的问题。 我发回一个string,而不是一个int。 这是我的代码看起来像: server.get("/webhook/",function(req,res,next){ var token = req.query.hub.verify_token; if( token === process.env.VALIDATION_TOKEN ){ var challenge = parseInt( req.query.hub.challenge ); res.send( req.query.hub.challenge ); }else{ res.send("Error, wrong validation token"); } return next(); }); 尽pipeparseInt() , res.send()返回一个string。 我如何得到它发回int?

你可以使用Facebook的stream注释未使用ES6类关键字定义的类吗?

我有很多遗留的ES5代码,不使用类关键字来定义“类”。 我想注释并使用Flow进行types检查。 那可能吗? 我只find使用class关键字的示例: https : //flowtype.org/docs/classes.html#_

喜欢通过API在Facebook发帖

我目前正在使用messenger bot来执行fbpost和分享行动。 我的问题是: Facebook是否允许应用程序喜欢和通过Graph API分享用户的post? 我发现了一些关于og.likes的Open Graph文档,但我不知道它是否被弃用。 (链接: https : //developers.facebook.com/docs/opengraph/guides/og.likes/ )。 我已经提出了一些示例请求,并创build了类似的开放graphics对象,但post不被喜欢。 我没有看到我的帐户有任何行动。 请求: fb.api('me/og.likes', 'post', {object: https://www.facebook.com/permalink.php?story_fbid=55431741576&id=38441731099'}, …); 创build的对象: { end_time: '2016-06-17T07:14:48+0000', start_time: '2016-06-17T07:14:48+0000', type: 'og.likes', application: { category: 'Utilities', link: 'https://apps.facebook.com/messenger-bot/', name: 'Test1', namespace: 'messenger-bot', id: '173992418' }, comments: { data: [], can_comment: true, comment_order: 'chronological', count: 0 }, from: { name: […]