标签: facebook-c#-sdk

facebook c#sdk入门

我想编写一个控制台应用程序,每天早上自动将信息发布到我的墙上.

我已经注册了Facebook开发者并拥有AppID和App Secret

我一直在尝试使用C#facebook SDK并查看了几个示例.

似乎示例获取用户令牌 - 但必须使用Windows窗体中的浏览器.这是一个自动化过程 - 所以我不想让用户在场.

我还使用应用程序令牌创建了一些示例 - 但它似乎无法写入墙.

我很快写了Twitter等价物.我一定在这里遗漏了什么?

什么是正确的方法?

似乎所有我应该需要的是:FaceBookClient(appID,appSecret)然后只是FaceBookClient.Put(消息)???

澄清补充说:

使用C#facebook sdk winform应用程序我不得不更改他们的FacebookLoginDialog.cs以使用folling URL:

https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=APPID&client_secret=APPSECRET&scope=user_about_me,publish_stream,offline_access

它返回WebBrowser.DocumentText中的一个accesskey

如果我然后打电话:

            var fb = new FacebookClient(_accessToken);
            dynamic parameters = new ExpandoObject();
            parameters.message = "Hello World!";
            dynamic result = fb.Post("me/feed", parameters);
Run Code Online (Sandbox Code Playgroud)

我得到了例外:

(OAuthException)必须使用活动访问令牌来查询有关当前用户的信息.

如果我将上面的代码更改为不使用该访问令牌 - 但使用appID和Appsecret:

           FacebookClient myFacebookClient = new FacebookClient("APPID", "APPSECRET");
            dynamic parameters = new ExpandoObject();
            parameters.message = "Hello World!";
            dynamic result = myFacebookClient.Post("me/feed", parameters);
Run Code Online (Sandbox Code Playgroud)

然后我得到了例外:

(OAuthException)必须使用活动访问令牌来查询有关当前用户的信息.

我想这是同样的例外

c# sdk facebook facebook-c#-sdk

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

Facebook图形api分页如何工作以及如何用它迭代facebook用户提要?

所以.我遇到了一个问题,投入数小时在互联网上搜索并没有多大帮助,认为SO总是一个不错的选择.我有一个facebook GraphAPI调用,以获取Facebook用户提供如下所示:

dynamic myFeed = await fb.GetTaskAsync(
                    ("me/feed?fields=id,from {{id, name, picture{{url}} }},story,picture,link,name,description," +
                    "message,type,created_time,likes,comments")
                    .GraphAPICall(appsecret_proof));
Run Code Online (Sandbox Code Playgroud)

上面帮我回复一些最新的帖子,用户发布了一段时间说21或22个帖子但不是完整的用户帖子列表.我正在寻找一种使用facebook分页迭代用户提要的方法我最终找到了这个与facebook Offset分页一起使用的解决方案.

dynamic myFeed = await fb.GetTaskAsync(
                    ("me/feed?fields=id,from {{id, name, picture{{url}} }},story,picture,link,name,description," +
                    "message,type,created_time,likes,comments")
                    .GraphAPICall(appsecret_proof), new {limit = "1000", offset = "21" });
Run Code Online (Sandbox Code Playgroud)

这让我向我想要实现的目标迈进了一步,但我认为这不是理想的做法,也不会返回所有用户帖子.有没有解决方法?请帮忙.

PS:我正在使用Facebook C#SDK.

更新1: 根据杰里米的回答.似乎facebook光标分页是我的要求唯一正确的选项.我想知道C#facebook sdk是否提供任何功能来迭代下一个边缘,这样我就可以在一个电话中获得所有的帖子,这有什么可能的解决方案吗?PS:我已经多次通过facebook API文档,我知道Nodes,Edges和Fields究竟是什么,唯一不幸的是facebook还不支持C#SDK,我无法在Facebook上找到合适的文档C#SDK也是.

c# pagination facebook facebook-graph-api facebook-c#-sdk

8
推荐指数
2
解决办法
7937
查看次数

如何使用facebook的REST API调用"LiveMessage.Send"

这可能是一个"可能"的副本(我在这里读了几个答案,没有引起我的注意:/)在这种情况下我道歉!然而,我一直在敲我的头3天,现在试图做到这一点!

我有一个正常的Canvas应用程序设置(因为FBML已被弃用).我想要做的只是当用户"允许"访问我的应用程序时,聊天消息必须出现在他的浏览器中.

我已经阅读了大约100次API,试图看看我做错了什么,或者这是否可能.有些人说过这个有用,有些人说这个方法需要一个只能在FBJS中初始化"LiveMessage"对象时才能创建的事件钩子.

有人知道是否有办法做到这一点,或者这是否可能?如果没有,有什么替代品?

先感谢您!

facebook facebook-c#-sdk

7
推荐指数
1
解决办法
1144
查看次数

如何在没有浏览器的情况下登录/验证Facebook在C#中的桌面应用程序

我可以使用Web浏览器控件验证Facebook的桌面应用程序.但我想在没有浏览器的情况下登录.电子邮件和密码将通过Windows窗体提供.我搜索了很多,但没有发现任何内容.

很多人说这是不可能的,facebook不会允许隐私政策.但是像tweet deck或nimbuzz这样的应用程序正在这样做.所以我认为这是可能的.

我想使用Facebook的最新C#sdk.

facebook-c#-sdk

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

如何处理Facebook应用程序请求?

我正在开发Facebook应用程序我正在提供用户使用C#SDK邀请他的朋友加入应用程序.如Facebook文档中所示

我的问题是当用户的朋友收到应用程序请求并单击接受 它没有显示时application permission request page.

我是否需要执行任何额外步骤以将用户重定向到application permission request page

facebook facebook-graph-api facebook-c#-sdk

7
推荐指数
1
解决办法
1984
查看次数

Facebook 60天访问令牌和不推荐使用的Offline_Access

Facebook的"弃用脱机访问"文档(http://developers.facebook.com/docs/offline-access-deprecation/)声明如下:


*服务器端OAuth开发人员

如果access_token是从服务器端 OAuth调用生成的,则生成的access_token将具有更长的到期时间.如果在该用户仍然存在有效的access_token的情况下进行呼叫,则来自该第二次呼叫的返回的access_token可以是相同的或者可能已经改变,但是在任何一种情况下,到期时间都将被重置.同样,在同一天多次调用此选项将仅导致第一次调用延长到期时间.*


这似乎意味着服务器端OAuth 自动获得一个长期到期令牌.如果我在Facebook Developer高级对话框中启用"弃用脱机访问"设置,我确实会发现这种情况 - 令牌在60天后到期.但随着设置,令牌将在2小时后到期.

关于这个设置,我有点困惑:

题:

  • 这个设置听起来像是一个"过渡/迁移"选项....如果我启用此选项,我将在6个月后获得60天代币吗?不使用"交换"端点?

  • 为什么不自动将所有令牌设置为60天?

facebook facebook-graph-api facebook-c#-sdk facebook-oauth

7
推荐指数
1
解决办法
8659
查看次数

FacebookOAuthClient去哪儿了?

我刚刚"升级"到c#SDK的6.1.0,发现FacebookAuthClient已被删除.我检查了github上的提交日志,那里没有太多信息.

有谁知道你应该如何使用最新版本的SDK进行身份验证?

oauth facebook-c#-sdk

7
推荐指数
1
解决办法
5243
查看次数

如何使用C#SDK获取访问令牌

我将Facebook SDK更新到6.0.10,一些以前工作的代码不再起作用了.我曾经在用户的墙上发布使用下面的方法.

FacebookClient曾经使用的类AppId,并且AppSecret我没有为我的应用程序提供任何访问令牌.

string uId = "SomeUid";
FacebookClient fb = new FacebookClient(AppId,AppSecret );

string userFeedPath = String.Format("/{0}/feed", uId);

dynamic parameters = new ExpandoObject();
parameters.link = "Test@test";
parameters.message = "test";

try
{
    dynamic result = fb.Post(userFeedPath, parameters);
}
catch(Exception ex)
{

}
Run Code Online (Sandbox Code Playgroud)

现在即使我试试这个,

FacebookClient fb = new FacebookClient();

fb.AppId = "1234...";
fb.AppSecret = "76e69e0c334995cecc8c....";
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

(OAuthException - #200)(#200)此API调用需要有效的app_id.

我该如何解决这个问题?

c# facebook-c#-sdk

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

如何在我的Facebook页面中显示最新的帖子到我的网站

我在Facebook上有页面,我想在我的网站上显示从我的Feed /墙上的最新5个帖子.这该怎么做?我找到了这个解决方案......很容易

https://developers.facebook.com/docs/reference/plugins/like-box/
Run Code Online (Sandbox Code Playgroud)

有人指导我使用facebook api并自己做什么是最好的方法?

我使用php mysql来构建这个站点

php facebook facebook-graph-api facebook-c#-sdk

7
推荐指数
2
解决办法
5万
查看次数

在Portable类库中使用Facebook SDK .Net

我开始开发适用于Windows phone 8和Windows 8的应用程序,我正在创建一个可移植的类库,以便在两个项目中共享一些类.在这个PCL我想做一些Facebook操作,但当我尝试从Nuget添加包时,我收到以下错误:

无法安装包'Facebook 6.4.2'.您正在尝试将此软件包安装到以"portable-net45 + wp80 + win"为目标的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件.有关更多信息,请与软件包作者联系.

在Windows Phone 8和Windows 8的共享项目中使用Facebook SDK for .NET是否可行?

问候.

facebook facebook-c#-sdk

7
推荐指数
0
解决办法
347
查看次数