Tag: facebook graph api

如何实现Rest API,它支持使用nodejs和mongodb进行部分响应和嵌套查询

我一直想知道如何实现一个如Facebookgraphics,谷歌和LinkedIn部分响应如这里所述的api系统 Facebook的 GET /clients/007?fields=firstname,name 200 OK { "id":"007", "firstname":"James", "name":"Bond" } 谷歌 GET /clients/007?fields=firstname,name,address(street) <— nested query 200 OK { "id":"007", "firstname":"James", "name":"Bond", "address":{"street":"Horsen Ferry Road"} } 我看了一下facebook GraphQL库似乎提供了部分响应的解决scheme,但它似乎更复杂,难以实现 有没有任何nodejs库可以提供这样的界面权限pipe理来控制哪些用户可以访问哪些数据

从node.js服务器端:照片上传到Facebook

根据Facebook文档http://developers.facebook.com/docs/reference/api/album/上传照片,源types应该是“multipart / form-data” 现在我使用'connect-form'在node.js中从客户端到服务器端获取图像文件。 我正在使用'脸谱-JS'模块上传照片到Facebook, app.post('/', function(req, res, next){ req.form.complete(function(err, fields, files){ if (err) { next(err); } else { console.log('uploaded ', files.source.filename, 'to', files.source.path); fb.apiCall('POST', '/me/photos', {access_token: fields.access_token, message: fields.message, **source:files.source**}, function (error, response, body) { if (error) { console.log('Error in facebook Photo UPLOAD', error); return; } res.redirect('back'); } ); 上面抛出一个错误,因为files.source不编码为“multipart / form-data”..我可以知道这里需要做什么? 我必须把文件放到内存中,然后在源代码中使用它?

Passport.js和Facebook Graph API

我有一些与Passport.js和FacebookgraphicsAPI 2.0的问题。 我不能得到我自己的朋友列表(返回空数组,但工作正常,如果我请求自己的饲料),如果使用从Passport获得的访问令牌,但它工作正常,如果我复制我从Facebook图探险家。 任何人都有遇到这个问题? 我需要你的帮助。 所以,这里是我的一些代码: 路线和范围: app.get('/auth/facebook', passport.authenticate('facebook', { scope: ['user_friends', 'user_status', 'read_stream'] })); 对facebookgraphicsAPI的请求(使用Node.js标准模块): var fbReq = https.request({ hostname: 'graph.facebook.com', method: 'GET', path: '/v2.0/me/friends?access_token=' + accessToken }, function(fbRes) { var output = ''; fbRes.setEncoding('utf8'); console.log("log the data"); fbRes.on('data', function(chunk) { console.log(chunk.length); output += chunk; }); fbRes.on('end', function() { return res.render('home/postLogin', { data: output […]

对FB和G +计数端点的批量asynchronous调用失败

我的应用程序有一个控制器,输出各种网页的总社交计数: http : //pastebin.com/MLBTb3mi 当我一次打几个电话,但是说有1000个网站的网站,我想更新每个url的社交计数时,它的工作正常,当它的音量调用asynchronous时,它会中断 – 特别是g +和fb的突破。 这是控制台错误,我得到作为对fb的graphicsid的调用的响应(这是“body”响应 – 请参阅控制器的第74行: http : //pastebin.com/MLBTb3mi facebook body is {"id":"970371719648388","created_time":"2015-04-02T07:43:09+0000","is_scrap ed":false,"type":"website","updated_time":"2015-04-02T07:43:09+0000","url":"http:\/\/www.zappos.com\/womens-clothing\/"} facebook result is undefined 有谁知道如何解决这个问题,并使控制器工作顺利? 我尝试使用sharedcount.com进行批量呼叫,并且可以毫无问题地同时拨打数千个电话。 我怎么能写我的控制器来处理这样的批量操作,而不使用像sharedcount这样的外部服务?

使用nodejs实现自动发布到Facebook的最佳方法

我正在开发一个nodejs应用程序,基本上以自动方式发布video到Facebook页面。 我是页面的pipe理员,所以用户authentication应该完成一次。 到目前为止,我正在使用一个未发布的Facebook应用程序来testing它,但我只是意识到,虽然应用程序没有发布,除了我自己以外没有人可以看到发布的video(他们应该是公开的…)。 需要注意的是,为了获得用户令牌,我手动去de API api浏览器,请求它,并将该令牌粘贴到脚本上。 事情是validation我的应用程序是一个几乎不可能的任务给Facebook的安全问题; 他们无法“理解”我是该页面的应用程序和pipe理员的所有者,是唯一可以访问该应用程序及其function的用户。 我已经尝试手动获取graphicsAPI资源pipe理器的标记为“应用程序”,其他人可以看到使用此方法发布的video(在Feed中显示为“Open Graph API”); 但问题是,我无法find一种方法来保持自动刷新(脚本方)这种types的令牌(不能扩展,只有几个小时)。 这是一个至关重要的部分,因为应用程序将运行在必须自动处理所有内容的服务器上。 所以,也许有一种方法来刷新我的“开放graphicsAPI”令牌过期的脚本本身,或者有一种解决方法,以快速和可实现的方式在Facebook上发布应用程序(鉴于我明显缺乏时间.. 。) 无论如何,先谢谢你

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 […]

麻烦连接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 […]

Facebook chatbot和身份validation

我有一个应用程序,用户可以使用Facebooklogin。 我有用户的authentication令牌,有效期为30天。 我正在使用护照。 目前,我要求绝对最低限度的权限(仅限电子邮件),以便我的身份validation应用程序不需要validation。 现在…我需要写一个聊天机器人偶尔会写入用户身份validation。 所以,机器人需要发起对话。 这实际上是用户正在积极关注的通知。 鉴于我知道如何写chatbot本身,我想知道…这样做甚至可能吗? 如果这是不可能的,是否有可能“链接”,然而通过比较他们的Facebook用户ID,启动与我的机器人与其中一个login用户聊天? (恐怕不是,因为Facebook的用户ID似乎被限制在应用程序!)

使用FB的新Graph API for instagram获取带有标签的图像

最近,Instagram / Facebook停止批准使用旧版Instagram API的应用程序,转而使用Facebook的图表API。 我正在努力弄清楚如何迁移我想在我的应用程序中的一些function。 使用instagram,为了获得最近的图片与一个给定的标签,你只是向这个url的请求: https://api.instagram.com/v1/tags/{tag-name}/media/recent?access_token=ACCESS-TOKEN 那Facebook的Facebook图表API有吗? 我无法在他们的文档中find它。

如何在张贴尝试发布操作时在Facebook链接中提供信息的“开放graphicsAPI”调用“属性名称”

我试图根据我提供给Facebook的链接中的查询stringdynamic地创build一个必要的标题信息的html对象。 我希望Facebook的开放图将调用这个HTML链接,我所提供的。 但是,似乎查询string信息没有传递给我的服务器。 有谁知道如何做这个工作,或者什么是更合适的方法来做到这一点。 顺便说一句,我正在编写Node.js我的代码。 要获取更多有关Facebook的开放graphicsapi的信息,请看这里https://developers.facebook.com/docs/beta/opengraph/actions/ 。 例如,我试图传递给Facebook的链接是“http://xxx-url.com/getFacebookObject?objectId=&description=firstdynamicpost”,所以我发送了一个链接请求“https:/ /graph.facebook.com/me/app-name:action-name?object=http://xxx-url.com/getFacebookObject?objectId=&description=first dynamic post“。 但是,当我检查服务器上的日志,我没有看到查询string中的任何内容。