Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 订阅页面的订阅源_C#_Facebook_Facebook Graph Api_Facebook C# Sdk - Fatal编程技术网

C# 订阅页面的订阅源

C# 订阅页面的订阅源,c#,facebook,facebook-graph-api,facebook-c#-sdk,C#,Facebook,Facebook Graph Api,Facebook C# Sdk,我希望在新提要到达指定页面时收到通知(按页面id)。据我所知,实时更新og Graph API应该能够根据需要完成这项任务 因此,我想添加一个新的订阅,我尝试使用以下代码执行此操作: dynamic result = client.Post(urlPath, new { @object = "page", callback_url = callbackUrl, fields = "feed",

我希望在新提要到达指定页面时收到通知(按页面id)。据我所知,实时更新og Graph API应该能够根据需要完成这项任务

因此,我想添加一个新的订阅,我尝试使用以下代码执行此操作:

dynamic result = client.Post(urlPath, new
        {
            @object = "page",
            callback_url = callbackUrl,
            fields = "feed",
            verify_token = "654321",
            access_token = accessToken
        });
        return result;
但是,当我尝试运行此程序时,会得到以下错误代码:

(OAutheException-#2200)(#2200)回调验证失败:连接后从代理收到HTTP代码502“

我错过了什么? 回调url是,我在端口上运行了一个TcpListener,它似乎没有收到任何响应/请求传入

这个应用程序是一个C#控制台应用程序,所以没有什么特别的asp.net之类的东西。我使用的是Facebook.net SDK

我应该使用FacebookClient.VerifyPostSubscription()还是其他我遗漏的东西?也许SDK包装了一个句柄

所以我要寻找的答案是: -如何在windows控制台项目上使用.net SDK创建/添加facebook页面订阅源的订阅

更新: 我用域名更改了环回,我将NAT发送到我的目标机器,现在我在我的TcpListener上得到了一些加密数据!
因此,现在的问题是,仅通过使用Tcp客户端,我如何正确响应收到的响应???

您链接的文档中明确列出了您必须如何响应:

现在还不清楚“TCP侦听器”是什么意思。你需要有一些逻辑,为什么可以向Facebook服务器发送HTTP响应,否则一段时间后你的服务将被忽略,这意味着不会发送更新

通常,这是作为web/应用服务器中的脚本/应用程序实现的


请注意:“C#SDK”是第三方SDK,不受FB的正式支持。

感谢您的贡献。我所说的Tcp侦听器是指我有一个Tcp客户端(套接字)正在运行,等待任何传入的请求/响应。我现在知道了,但由于它是加密的,我需要解密它并发送一个200 OK返回,我想?有可能设置一个“http”回调url而不是“https”吗?顺便问一下,如果我知道通过阅读链接的文档该做什么,我甚至不会发布这个…都在文档中。什么exac不清楚?“HTTP请求将包含一个X-Hub-Signature头,其中包含请求有效负载的SHA1签名,使用应用程序机密作为密钥,并以SHA1=为前缀。您的回调端点可以验证此签名以验证有效负载的完整性和来源“问题是我遇到了此错误:(OAutheException-#2200)(#2200)回调验证失败:操作在6001毫秒后超时,接收到0字节。我说过,您必须返回正确的HTTP响应。因此,超时错误。而且,您必须在FB向您发送任何更新之前正确处理验证请求。同样,这一切都在文档中。对于其他人来说,与我遇到的问题相同。The解决方案是确保您的是公共可用的,以便FB可以访问您设置的回调URL,并从您收到的get请求中获取hub.mode、hub.challenge、hub.verify_令牌,并根据文档发送响应。回调URL可以是https或http。