大致步骤是:

1、创建一个应用程序,可以获得App ID/API Key和App Secret。

2、使用URL:

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream

其中YOUR_APP_ID就是你的APPID, YOUR_URL就是你应用程序的URL,Canvas程序就填Canvas的URI, scope就是请求的权限.

这个界面进去就是跟国内的微博应用一样了,是一个申请用户授权的页面,用户点击授权后,facebook会这样请求你的YOUR_URL:

http://your_url/?code=A_CODE_GENERATED_BY_SERVER

你的URL会收到一大串加密字符的Get请求.

3、拿出这一大串密钥,通过下面的URI获取到access_token

https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&client_secret=YOUR_APP_SECRET&code=THE_CODE_FROM_ABOVE

最后的code 就是第二步获取到的code了.请求这个URI会得到access_token,拿到这个之后,就可以在任何地方做你想做的事啦.

4、各种API:

Friends: https://graph.facebook.com/me/friends?access_token=...

News feed: https://graph.facebook.com/me/home?access_token=...

Profile feed (Wall): https://graph.facebook.com/me/feed?access_token=...

Likes: https://graph.facebook.com/me/likes?access_token=...

Movies: https://graph.facebook.com/me/movies?access_token=...

Music: https://graph.facebook.com/me/music?access_token=...

Books: https://graph.facebook.com/me/books?access_token=...

Notes: https://graph.facebook.com/me/notes?access_token=...

Permissions: https://graph.facebook.com/me/permissions?access_token=...

Photo Tags: https://graph.facebook.com/me/photos?access_token=...

Photo Albums: https://graph.facebook.com/me/albums?access_token=...

Video Tags: https://graph.facebook.com/me/videos?access_token=...

Video Uploads: https://graph.facebook.com/me/videos/uploaded?access_token=...

Events: https://graph.facebook.com/me/events?access_token=...

Groups: https://graph.facebook.com/me/groups?access_token=...

Checkins: https://graph.facebook.com/me/checkins?access_token=...

API手册:https://developers.facebook.com/docs/reference/api/

5、Facebook登陆服务器校验

1) Get an App Access token

(https://developers.facebook.com/docs/howtos/login/login-as-app/)

https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID
&client_secret=YOUR_APP_SECRET
&grant_type=client_credentials

2) Debug the User Access token

(https://developers.facebook.com/docs/howtos/login/debugging-access-tokens/)

https://graph.facebook.com/debug_token?
input_token=INPUT_TOKEN
&access_token=ACCESS_TOKEN

The debug endpoint responds with something like this:

{data: {app_id: YOUR_APP_ID,is_valid: true,metadata: {sso: "iphone-safari"},application: YOUR_APP_NAMESPACE,user_id: USER_ID,issued_at: 1366236791,expires_at: 1371420791,scopes: [ ]}
}返回中回有状态,
app_id:你的应用ID
is_valid:是否成功
user_id:账号唯一ID
expires_at:过期时间
error:错误信息

小插曲:说到这里,我做这里的时候遇到一个BUG。进行https://graph.facebook.com/oauth/access_token&client_id=YOU_APP_ID&client_secret=YOU_APP_SECRET&grant_type=client_credentials 出现了400 Bad Request 错误,我找了公司其他APPID和SECRET进行测试都是OK的,说明我的代码是没有问题的,多次无果的情况下我自己申请了一个APPID进行对比市场给我的APPID,最总发现由于上次市场人员给我演示后台不小心设置了一个东西导致了验证失败,其实出现这个问题一般是FACEBOOK那边权限校验失败导致的。她设置的地方如图。大家注意。


她应该是设置为YES了,应该为NO。

另外这种问题还有可能是Facebook 开发者后台设置问题,比如key hash,release key之类的等等参数。

facebook总结之前的几次经验。

1、Advanced里面的Native or desttop app 设置了为Yes

2、Key Hashes(developer key和release key)和不对(出现了2次)

3、没有发布

4、没有添加platform

Facebook登陆服务器校验,权限请求以及数据获取相关推荐

  1. 微信 请求校验(确认请求来自微信服务器)

    /** * 请求校验(确认请求来自微信服务器) */ public void wxOauth() throws Exception { // String signature = (String) g ...

  2. 服务器怎么设置网站写入权限,如何设置服务器写入权限设置方法

    如何设置服务器写入权限设置方法 内容精选 换一换 将用户组添加至企业项目中,并为其设置一定的权限策略,该用户组中的用户即可拥有策略定义的对该企业项目中资源的使用权限.本小节指导您如何为企业项目添加用户 ...

  3. 黑客入侵服务器提升权限总结

    以文本方式查看主题 -  电白社区  (http://www.525400.net/index.asp) --  网络与安全  (http://www.525400.net/list.asp?boar ...

  4. 总体设计和登陆服务器 [游戏服务器的设计思路 转]

    作者博客: http://blog.csdn.net/yahle 大纲: 项目的历史背景 服务器的设计思路 服务器的技术 服务器的设计 服务器的改进 图形引擎myhoho及UI库的设计 客户端与服务器 ...

  5. linux FTP服务器访问权限的问题

    当我们搭建好一个FTP服务器后,接下去的工作就是要对这个服务器进行权限的管理与设置.因为这项工作直接关系到FTP服务器上文件的安全,关系到FTP服务器运行的稳定.所以,作为企业的网络管理员,不能够忽视 ...

  6. windows 下 putty 登陆服务器 显示matlab图形界面

    本文需要下载 putty.exe 和 pscp.exe :http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Xming 主 ...

  7. .net下模拟不同身份登陆以获取不同权限

    .net下模拟不同身份登陆以获取不同权限   1.net下模拟不同身份登陆以获取不同权限     2    3作者:佚名 时间:2004-04-16 09:14 出处:互连网 责编:chinaitpo ...

  8. 程序发布出现: 服务器无法处理请求---无法生成临时类(result = 1)。 错误CS2001:未能找到源文件“C:\ Windows \ TEMP \ lph54vwf.0.cs”...

    服务器上发布的web服务程序出错: 服务器无法处理请求--->无法生成临时类(result = 1). 错误CS2001:未能找到源文件"C:\ Windows \ TEMP \ lp ...

  9. 文件服务器 重复文件,ftp服务器校验重复文件

    ftp服务器校验重复文件 内容精选 换一换 通过FTP或SFTP连接,可以对FTP或SFTP服务器抽取或加载文件,支持CSV.二进制和JSON格式.FTP和SFTP的连接参数相同. 镜像是裸金属服务器 ...

  10. 远程登陆服务器跑深度学习程序

    什么是远程登陆服务器跑深度学习程序: 我最开始跑程序都在cpu或者谷歌云端,最近刚开始有gpu服务器,有空可以写一下谷歌云端跑程序教程,对于没有gpu服务器的可以考虑蹭谷歌云端的gpu,缺点就是非常不 ...

最新文章

  1. numpy——hsplit()、vsplit()函数的详细使用
  2. [zz]一行代码解决iframe挂马(服务器端注入、客户端ARP注入等)
  3. 福建省计算机二级vb试题及答案,福建省计算机二级VB考的是什么内容?
  4. 由控制台输入年龄-不同类型不能直接比较
  5. 国家文物局:长城沿线群众是文物保护的重要力量
  6. python简单实践作业答案_python入门实践四:爬取牛客网面试专项练习题及答案
  7. foreach lambda写法_Java8新特性之forEach+Lambda 表达式遍历Map和List
  8. ElasticSearch外部版本控制
  9. linux网络状态检测libcurl,使用curl进行网络诊断 - msnshow的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  10. Eclipse/MyEclipse注释模板和格式化模板的使用
  11. C#中的IO流操作(FileStream)
  12. OpenGL ES总结(五)OpenGL ES中pipeLine机制
  13. 词云python灿烈,Python jieba分词、词云、文件读取、函数调用、匿名函数
  14. MAC 安装python3 菜鸟教程
  15. Java垃圾回收机制(GC)
  16. 如何使用浏览器网络监视工具进行黑客攻击
  17. 连接/映射网络位置/共享磁盘
  18. 【Linux集群教程】11 集群监控 - Zabbix 搭建
  19. 如何准备机器学习工程师的面试
  20. 微信小程序-开放标签

热门文章

  1. linux设置cpu虚拟化,linux 查看cpu是否支持虚拟化
  2. 打开计算机网络自动连接,电脑如何自动连接上网 开机自动拨号连接宽带的方法【步骤】...
  3. python操作VCF文件
  4. 华硕k43tk拆机清灰教程
  5. melogin.cn主页登录_melogin.cn登陆界面
  6. 计算机卡登录界面,windows10系统卡在登录界面的解决方法
  7. 服务器双路cpu装什么系统,双路服务器CPU是什么意思?双路CPU是什么?
  8. 计算机里pc是什么,什么是pc?pc是什么意思?
  9. S5800/S5820X系列交换机GRE隧道
  10. noob_臭代码-Java Noob的自白