所以.我遇到了一个问题,投入数小时在互联网上搜索并没有多大帮助,认为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也是.
我需要的?! 我有一个ASP.NET身份系统设置并运行外部登录.无论出于何种原因,我需要在ASP.NET身份验证后设置自定义身份验证.我来解释一下怎么样?假设我有三个页面供用户查看我的应用程序,页面A,B,C. 谁可以查看Page A? 任何匿名用户都可以查看页面A. 谁可以查看页面A和B? 任何使用他/她的电子邮件和密码或外部登录创建帐户的用户. 谁可以查看Page A,B&C?
这是我想要设置自定义身份验证的地方.任何使用其电子邮件帐户或外部登录名创建帐户并且具有有效序列密钥的用户. 序列号? 我在ASP.NET身份中设置了一个类,如下所示:
public class UserDetails : IdentityUser
{
public virtual MembershipSerial MembershipSerial { get; set; }
}
public class MembershipSerial
{
[HiddenInput(DisplayValue=false)]
public int Id { get; set; }
[HiddenInput(DisplayValue=false)]
public string Serial { get; set; }
[Required]
[Display(Name="Membership Serial")]
public string SerialConfirmed { get; set; }
}
public class MyDbContext : IdentityDbContext<UserDetails>
{
public MyDbContext()
: base ("EFDbContext")
{
}
public System.Data.Entity.DbSet<MembershipSerial> MembershipSerial { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如上所述,我在课堂上设置了三个属性.字段ID用于序列号的ID,序列号是14个字母数字字母,由管理员输入,您可以看到它是一个不允许为空的隐藏字段.字段SerialConfirmed也是一个14字母数字字母,用户将输入这些字母进行身份验证,以便在应用程序中执行某些特定任务.整个概念是,应该推送登录用户进行第二种类型的身份验证,即身份验证与序列号. …
我想构建一个类似于nametest或Meaww的facebook应用程序,几乎成功地将我的API调用到Facebook Graph API并从facebook返回数据.令我困惑的是上述Web应用程序的UI.当您在Meaww或Nametests上完成测试时,结果将以图像(Jpeg)格式呈现给用户.我只是不知道他们如何设法将HTML转换为动态的图像与所有CSS样式和等等,以及他们如何将其作为图像返回给用户?是否可以在ASP.NET MVC Too中实施此场景?如果是的话,我需要一个提示来做到这一点.
下面是Meaww作为测试结果生成的图像.
编辑:
更具体一点......我public async Task<ActionResult> FB_Analyse()在我的控制器中有一个动作,它通过图形API调用从facebook获取数据到facebook,然后将数据值传递给模型,然后在Action结束时返回一个视图,如下所示:
public async Task<ActionResult> FB_Analyse()
{
var access_token = HttpContext.Items["access_token"].ToString();
if (!string.IsNullOrEmpty(access_token))
{
var appsecret_proof = access_token.GenerateAppSecretProof();
var fb = new FacebookClient(access_token);
#region FacebookUser Name and Picture plus other Info
//Get current user's profile
dynamic myInfo = await fb.GetTaskAsync("me?fields=first_name,last_name,link,locale,email,name,birthday,gender,location,age_range,about".GraphAPICall(appsecret_proof));
dynamic myinfojson = JsonConvert.DeserializeObject(myInfo.ToString());
ViewBag.UserName = myinfojson.name;
ViewBag.UserGender = myinfojson.gender;
//get current picture
dynamic profileImgResult = await fb.GetTaskAsync("{0}/picture?width=200&height=200&redirect=false".GraphAPICall((string)myInfo.id, appsecret_proof));
ViewBag.ProfilePictureURL = profileImgResult.data.url;
#endregion
dynamic myFeed = await fb.GetTaskAsync(
("me/feed?fields=likes{{name,pic_large}}") …Run Code Online (Sandbox Code Playgroud) c# asp.net-mvc png image-processing dynamic-image-generation
所以.我有一个2k +名称记录列表.我想在列表中找到前三个经常重复的名字.到目前为止,我想出了如何获得First()具有以下内容的那个:
var mostPopular = likes.GroupBy(i => i.name).OrderByDescending(grp => grp.Count()).Select(grp => grp.Key).First();
Run Code Online (Sandbox Code Playgroud)
我怎么能得到另外两个?请帮忙.