惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog
GbyAI
GbyAI
Google DeepMind News
Google DeepMind News
博客园 - 【当耐特】
阮一峰的网络日志
阮一峰的网络日志
The Cloudflare Blog
N
Netflix TechBlog - Medium
P
Privacy International News Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
G
Google Developers Blog
Recorded Future
Recorded Future
The Hacker News
The Hacker News
D
Darknet – Hacking Tools, Hacker News & Cyber Security
B
Blog RSS Feed
G
GRAHAM CLULEY
A
Arctic Wolf
N
News | PayPal Newsroom
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
The Register - Security
The Register - Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
V
Visual Studio Blog
Webroot Blog
Webroot Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 三生石上(FineUI控件)
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
H
Heimdal Security Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Microsoft Azure Blog
Microsoft Azure Blog
小众软件
小众软件
M
MIT News - Artificial intelligence
V2EX - 技术
V2EX - 技术
Jina AI
Jina AI
TaoSecurity Blog
TaoSecurity Blog
NISL@THU
NISL@THU
云风的 BLOG
云风的 BLOG
爱范儿
爱范儿
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threat Research - Cisco Blogs
WordPress大学
WordPress大学
V
V2EX
Cyberwarzone
Cyberwarzone
Stack Overflow Blog
Stack Overflow Blog
Cloudbric
Cloudbric
H
Hackread – Cybersecurity News, Data Breaches, AI and More

博客园 - myx

安装gitlab管理自己的代码 升级Tornado到4后weibo oauth登录不了 SQL Server 无日志文件附加数据库 用monit监控系统关键进程 Failed to read auto-increment value from storage engine错误的处理方法 今天测试了一下 sqlalchemy 性能 PIL The _imaging C module is not installed phpExcel大数据量情况下内存溢出解决 tcpdf慢及常用的一些方法及问题 Python获取WebService CodeIgniter出现Disallowed Key Characters的问题 CodeIgniter链接ms sql 如果数据库名称有点号连接出错 用python写windows服务 CodeIgniter链接ms sql 的过程windows 2008 关于NTLM认证的.NET,php,python登录 php里的html内容切取 js生成新加坡的NRIC号码 Sina站内应用的登录 PowerDesigner 链接MySql 用ODBC链接不上的问题
DotNetOpenAuth的Facebook登录,获取头像与基本资料
myx · 2012-12-31 · via 博客园 - myx

Facebook的相对比较简单,下载下来的DEMO基本就可以用了,主要列一下需要注意的地方:

1.权限设置:
是在FacebookClient里面的AuthorizationEndpoint。具体设置示例如下:

AuthorizationEndpoint = new Uri("https://graph.facebook.com/oauth/authorize?scope=email,user_birthday,read_stream,publish_stream")

2.获取当前登录用户的EMAIL,就是需要权限设置加上email,然后如下就可以获取用户的基本资料了:

3. 获取用户头像。facebook的只要知道用户的ID或name就可以获取了。一般是获取最大的然后resize成需要的。地址如下:

http://graph.facebook.com/randy.ran.12327/picture?type=large
//or
http://graph.facebook.com/100000396765290/picture?type=large

4. 获取好友列表及查看好友是否已经使用了此的APP,请求地址:

https://graph.facebook.com/me/friends?fields=id,name,installed&limit=5000&offset=0

 这里注意的是 installed 参数,默认情况下是没有这个返回的。如果好友已经使用了此的APP,则这installed=true ,就是根据这个来判断有哪些好友已经用了相同的APP的。然后就可以直接关注了。

5. 使用fbUI的发送消息邀请好友

<script src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
    FB.init({
        appId: 'app id',
        cookie: true,
        status: true,
        xfbml: true
    });


    function FacebookInviteFriends2() {
        var link_url = "http://www.facebook.com/";
        FB.ui({
            method: 'send',
            to: '100001412299717',
            name: "Join me on my ibt!",
            description: "Randy is on Pinterest, a place to discover, collect, and share inspiration. Join Pinterest to see Randy's pins and start pinning.",
            picture: "http://media-cache-ec5.pinterest.com/avatars/randyran8_1356501711_444.jpg",
            link: link_url
        }, function (response) {
            alert(response);
        });
    }

</script>

  相关的可参考:https://developers.facebook.com/docs/reference/dialogs/requests/ ,还有这里的邀请好友:http://www.9lessons.info/2012/07/facebook-invite-friends-api.html

6. 已API方式分享:

        /// <summary>
        /// 分享到facebook
        /// </summary>
        /// <param name="token"></param>
        /// <param name="name">标题</param>
        /// <param name="link">点击了的连接地址</param>
        /// <param name="caption">caption(一行)</param>
        /// <param name="description">description</param>
        /// <param name="source">显示的图片地址150x150大小,需要以http开头的哦</param>
        /// <param name="message">评论内容</param>
        /// <returns></returns>
        public static BoolMessage Share(string token, string name, string link, string caption, string description, string source, string message)
        {
            Dictionary<string, string> dic = new Dictionary<string, string>();
            dic.Add("name", name);
            dic.Add("link", link);
            dic.Add("caption", caption);
            dic.Add("description", description);
            dic.Add("source", source);
            dic.Add("privacy", "{\"value\": \"EVERYONE\"}");
            dic.Add("message", message);
            dic.Add("access_token",token);
            string url = "https://graph.facebook.com/me/feed";
            return HttpHelper.WebRequest(HttpHelper.Method.POST, url,dic);
        }