标签: connect

Facebook Connect iPhone自定义发布流

我刚刚下载了适用于iOS的Facebook SDK,因为我需要能够将自定义流发布到用户的Facebook源.示例应用程序有一个名为publishStream:(id)sender的方法,它似乎为"发布流"对话框设置了自定义描述,但是当我的对话框出现时,我看到的是一个空对话框,可以开始输入.示例中的代码应用是这样的:

`SBJSON*jsonWriter = [[SBJSON new] autorelease];

NSDictionary* actionLinks = [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:
                                                       @"Always Running",@"text",@"http://itsti.me/",@"href", nil], nil];

NSString *actionLinksStr = [jsonWriter stringWithObject:actionLinks];
NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys:
                            @"a long run", @"name",
                            @"The Facebook Running app", @"caption",
                            @"it is fun", @"description",
                            @"http://itsti.me/", @"href", nil];
NSString *attachmentStr = [jsonWriter stringWithObject:attachment];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"Share on Facebook",  @"user_message_prompt",
                               actionLinksStr, @"action_links",
                               attachmentStr, @"attachment",
                               nil];


[_app.facebook dialog:@"feed"
        andParams:params
      andDelegate:self];`    
Run Code Online (Sandbox Code Playgroud)

这段代码应该填充自定义流吗?如果是这样,为什么演示项目不适合我呢?如果没有,为了使用自定义数据填充流,我需要采取哪些步骤?

谢谢你的帮助,

iphone publish facebook connect ios

4
推荐指数
1
解决办法
4067
查看次数

Nodejs和Connect"next"功能

似乎如果我想转移到Nodejs中的"下一个"函数(可能还有Javascript)?我无法将参数传递给下一个函数.

这就是我的意思:

app.get('/webpage', SomeFunction, NextFunction);

function SomeFunction (req, res, next) {
    // Do things
    next();
}

function NextFunction (req, res) {
    // Do other things
}
Run Code Online (Sandbox Code Playgroud)

现在,如果在SomeFunction我说它next(req, res);似乎不起作用.它永远不会到达方法.显然我不能直接传递参数......但我的问题是为什么?下一个函数如何知道要使用哪些参数?是因为它们被命名相同还是自动传递第一和第二参数?如果NextFunction使用blah, bleet而不是req, res它仍然有效?

javascript middleware connect next node.js

4
推荐指数
1
解决办法
2686
查看次数

winsock:使用本地主机 (127.0.0.1) 时,连接失败并出现错误 10049

我写了一个封装了一些 winsock 函数的类来模拟一个简单的 TCP 套接字以满足我的需要......

当我尝试运行一个简单的连接和发送数据到服务器测试时,“客户端”在调用连接时失败,错误代码为 10049 (WSAEADDRNOTAVAIL)连接功能在 MSDN

我正在做的是(下面的代码): 服务器:

  1. 创建服务器套接字 -> 将其绑定到端口 12345
  2. 将 Socket 置于监听模式
  3. 来电接听

客户

  1. 创建一个套接字 -> 将其绑定到一个随机端口
  2. 调用 Connect:连接到localhost,端口 12345

=> 连接调用失败,错误 10049,如上所述

这是包括“服务器”在内的主要功能:

HANDLE hThread = NULL;
Inc::CSocketTCP ServerSock;
Inc::CSocketTCP ClientSock;

try
{

    ServerSock.Bind(L"", L"12345");
    ServerSock.Listen(10);

    //Spawn the senders-thread
    hThread = (HANDLE)_beginthreadex(nullptr, 0, Procy, nullptr, 0, nullptr);

    //accept
    ServerSock.Accept(ClientSock);


    //Adjust the maximum packet size
    ClientSock.SetPacketSize(100);


    //receive data
    std::wstring Data;
    ClientSock.Receive(Data);

    std::wcout << "Received:\t" << Data << std::endl;
}
catch(std::exception& e) …
Run Code Online (Sandbox Code Playgroud)

c++ sockets windows winsock connect

4
推荐指数
1
解决办法
1万
查看次数

如何直接调用Connect中间件?

我有这样一个快速路线:

app.get('/', auth.authOrDie, function(req, res) {
    res.send();
});
Run Code Online (Sandbox Code Playgroud)

其中authOrDie函数的定义(在我的auth.js模块中):

exports.authOrDie = function(req, res, next) {
    if (req.isAuthenticated()) {
        return next();
    } else {
        res.send(403);
    }
});
Run Code Online (Sandbox Code Playgroud)

现在,当用户未经过身份验证时,我想验证http请求是否具有授权(基本)标头.为此,我想使用伟大的连接中间件basicAuth().

如您所知,Express建立在Connect之上,因此我可以使用express.basicAuth.

basicAuth一般使用这样的:

app.get('/', express.basicAuth(function(username, password) {
    // username && password verification...
}), function(req, res) {
    res.send();
});
Run Code Online (Sandbox Code Playgroud)

但是,我想在我的authOrDie函数中使用它:

exports.authOrDie = function(req, res, next) {
    if (req.isAuthenticated()) {
        return next();
    } else if {
        // express.basicAuth ??? ******
    } else {
        res.send(403); …
Run Code Online (Sandbox Code Playgroud)

connect node.js express

4
推荐指数
1
解决办法
2520
查看次数

Connect的会话中间件的签名Cookie如何工作?

我想解释一下Connect.sid cookie在Connect Node.js框架中如何工作。我注意到它们的格式像

s:hash.signature
Run Code Online (Sandbox Code Playgroud)

我不明白当哈希值超过了用于从内存存储或Redis存储访问会话数据的能力时,如何使用签名。

另外,我不理解为什么s:cookie中的甚至是。目的是什么

我听说签名用于“签名”哈希。“签名”或“签名”到底是什么意思?我还需要对此过程进行解释。

谢谢!

cookies session middleware connect node.js

4
推荐指数
1
解决办法
1349
查看次数

如何将reveal.js应用程序部署到heroku?

我正在尝试将一个reveal.js应用程序部署到Heroku.Reveal.js通过grunt connect命令在节点上运行.该应用程序还需要ruby来动态编译资产.在本地,我可以使用运行应用程序grunt serve.

最初,由于罗盘是一个依赖grunt watch,Heroku只检测到Gemfile并假设我正在运行一个ruby应用程序.我使用nodejs自定义buildpack强制Heroku将其视为nodejs应用程序.

Procfile包含

web: grunt serve
Run Code Online (Sandbox Code Playgroud)

日志显示

 2013-06-17T13:51:56.187012+00:00 heroku[router]: at=error code=H14 desc="No web processes running"
Run Code Online (Sandbox Code Playgroud)

heroku ps什么也没显示.我可以成功运行"heroku run grunt serve",我已经修改了默认的Gruntfile.js以显示接受process.env ie

connect: {
  server: {
    options: {
      port: process.env.PORT || 8000,
      base: '.'
    } 
  }
}
Run Code Online (Sandbox Code Playgroud)

作为最后一次尝试,我尝试使用Heroku-nodejs-grunt构建包(https://github.com/mbuchetics/heroku-buildpack-nodejs-grunt),它将在部署时运行grunt任务来编译资产.仍然没有运气,heroku logs --tail仍然显示没有进程在运行.探索heroku run显示grunt可用,并且grunt serve命令成功执行.

当开始使用新的grunt构建包时,我得到了一个错误,上面的Gruntfile.js说"进程"是未定义的.我将端口切换为0.

Web服务器将响应的端口.如果指定的端口已在使用中,则任务将失败.您可以使用特殊值0或'?' 使用系统分配的端口.

没有工作,尝试"?",没有工作(仍然没有网络进程,heroku restart没有做任何事情)

我无法弄清楚如何让Heroku使用grunt serve作为我的主要Web服务器进程!

heroku connect node.js gruntjs

4
推荐指数
1
解决办法
1788
查看次数

如何使用KrakenJS将Redis配置为会话存储

使用Express,我可以使用Redis作为会话存储,如下所示:

var express = require('express');
var app = express();
var RedisStore = require('connect-redis')(express);

app.use(express.cookieParser());
app.use(express.session({
    store: new RedisStore({
    host: 'localhost',
    port: 6379,
    db: 'test',
    pass: '123456'
  }),
  secret: '123456789'
}));
Run Code Online (Sandbox Code Playgroud)

但是对于Kraken,会话配置在文件中config/middleware.json.我将文件更改为使用connect-redis如下:

{
    "middleware": {
        "session": {
           "module": "connect-redis",
           "secret": "99b91c387e6e049308fc31d3cfff5fd3149e419c"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这样,Kraken确实使用Redis作为会话存储,但我怎么想传递Redis的选项(密码,主机,数据库名称......),就像Express一样?

session connect redis node.js

4
推荐指数
1
解决办法
1619
查看次数

节点/连接问题对象函数createServer没有静态方法

我正在尝试使用AngularJS书籍(server.js)中的示例启动我的节点服务器.

var connect = require('connect');
connect.createServer(
connect.static("../angularjs")
).listen(5000);
Run Code Online (Sandbox Code Playgroud)

最初我得到"对象没有方法静态"所以我重新安装了connect include,现在当我这样做:node server.js我在CMD(Windows)中获得了一个闪烁的光标,并且从我的浏览器中获得了"Can not GET /".

有什么想法吗?

谢谢!

javascript connect node.js

4
推荐指数
1
解决办法
9842
查看次数

req.session没有方法'触摸'?

我正在尝试使用express-session和connect-redis来存储用户会话.目前,在用户登录后,我返回req.sessionID,然后每当用户想要向api的安全部分发出请求时,他/她必须提供会话ID.然后,身份验证中间件返回到redis并检查会话是否存在,如果存在,则将当前会话替换为存储在Redis中的会话.

function isLoggedIn(req, res, next){
  var session_id = req.body.session_id;
  if (!session_id){
    res.send(401, {status: 0, message: "Not authorized"});
    return;
  }
  console.log(req);
  sessionStore.get(session_id, function(err, session){
    if(err){
      res.send(401, {status: 0, message: "Not authorized"});
      return;
    }
    req.session = session;
    req.sessionID = req.body.session_id;
    return next();
  });
}
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,这个错误出现了:

/node_modules/express-session/index.js:269
  req.session.touch();
              ^
TypeError: Object #<Object> has no method 'touch'
Run Code Online (Sandbox Code Playgroud)

我似乎无法在网上找到任何有这个错误的人,因为touch()是一个内置的功能来表达会话.请帮忙?我的快速会话版本是1.9.3.

session connect node.js express

4
推荐指数
1
解决办法
5211
查看次数

如何从 Garmin Fenix3 检索活动

我想将 Garmin Fenix3 中的活动自动导入数据库(无需手动下载 TCX 文件)。我想到了两个选项来解决这个任务:

  1. 一个基于服务器的应用程序,它连接到 Garmin Connect API 并在每次上传活动时由 GarminConnect 通知(通过 RESTful API) - 我的理解是否正确,对于这个用例,我需要 5,000 美元的昂贵 Garmin API 许可证?http://developer.garmin.com/garmin-connect-api/overview/

  2. 创建一个 Android 应用程序,每次创建新活动时,该应用程序都会收到已安装的 Garmin Android Connect 应用程序的通知 - 我该如何实现?根据我的理解,Connect IQ Mobile SDK For Android 可用于创建一个 Android 应用程序,该应用程序与您自己在 Garmin 设备上的应用程序进行交互(我的场景不需要,我只想自动“下载”创建的活动通过默认的 Fenix3 应用程序)。

任何帮助都非常感谢 - 谢谢。

android connect garmin

4
推荐指数
1
解决办法
1831
查看次数