Facebook Oauth2.0 API调用方法

Posted ilinux_one

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Facebook Oauth2.0 API调用方法相关的知识,希望对你有一定的参考价值。

这些天搞了下Facebook API的东东,在官方网站下弄了一些接口,下面简单的把facebook的调用流程以及常用接口书序一下 :-) 
 
当然在使用facebook api之前要有facebook账号以及在facebook上注册一个自己的应用  
1.登录鉴权 
https://graph.facebook.com/oauth/authorize?client_id=8888888888888&redirect_uri=http://www.mywebsite.com&scope=user_about_me,user_activities,user_birthday,user_education_history,user_events,user_groups,user_hometown,user_interests,user_likes,user_location,user_notes,user_online_presence,user_photo_video_tags,user_photos,user_relationships,user_religion_politics,user_status,user_videos,user_website,user_work_history,read_friendlists,read_requests,publish_stream,create_event,rsvp_event,sms,offline_access,friends_about_me,friends_activities,friends_birthday,friends_education_history,friends_events,friends_groups,friends_hometown,friends_interests,friends_likes,friends_location,friends_notes,friends_online_presence,friends_photo_video_tags,friends_photos,friends_relationships,friends_religion_politics,friends_status,friends_videos,friends_website,friends_work_history,read_stream,photo_upload  
字段说明:client_id    :注册应用后即可得到 
      redirect_uri :登录鉴权回调页面 
      scope        :允许用户访问的facebook模块(可在官网上找到齐全的) 
 
登录鉴权之后会回调到你给定的redirect_uri,此时会在你的url后面带上facebook给定的结果参数,其中auth_token是我们下面需要的  
2.获取鉴权标示 
 
https://graph.facebook.com/oauth/access_token?client_id=8888888888888&redirect_uri=http://www.mywebsite.com&client_secret=3dfdsa5425fdsa7554520720df8&code=............ 
 
字段说明:client_id    :注册应用后即可得到
       redirect_uri :回调页面 

      client_secret:注册应用后即可得到 
      code         :在登录鉴权后返回的auth_token值 
 
这里接口会类似第一步一样返回给我们一个access_token的值,下面我们就需要用这个access_token值做如下操作了(access_token值可存储起来,下次继续使用):  
A. 查询个人信息 
   https://graph.facebook.com/me?access_token=...    备注:“me”可替换成任意用户的ID。 
     可添加fields参数查询相应的个人信息字段,字段集如下: 
     fields=id,name,first_name,middle_name,last_name,gender,locale,languages,link,username,third_party_id,timezone,updated_time,verified,bio,birthday,education,email,hometown,interested_in,location,political,favorite_athletes,favorite_teams,quotes,relationship_status,religion,significant_other,video_upload_limits,website,work,picture    用户自定义图片还可以这样获得: 
   https://graph.facebook.com/me/picture?access_token=...  
B. 查询好友 
   https://graph.facebook.com/me/friends?access_token=...    备注:“me”可替换成任意用户的ID。    或者可以用FQL形式: 
   https://graph.facebook.com/fql?q=SELECT uid2 FROM friend WHERE uid2 = me()  
C. 查询个人动态信息 
   https://graph.facebook.com/me/feed?access_token=...    备注:“me”可替换成任意用户的ID。    或者可以用FQL形式: 
   https://graph.facebook.com/fql?q=SELECT status_id, time, source, message FROM status where uid = me()&access_token=...  
D. 查询用户所有的动态信息(包括自己/朋友/系统)    https://graph.facebook.com/me/home?access_token=...    备注:“me”可替换成任意用户的ID。    或者可以用FQL形式: 
   https://graph.facebook.com/fql?q=SELECT%20status_id,%20time,%20source,%20message%20FROM%20status%20where%20uid%20in%20%28SELECT%20uid1,%20uid2%20FROM%20friend%20WHERE%20uid1%20=%20me%28%29%29&access_token=...  
E. 发表动态 
   需要用到post方式提交,url为:    https://graph.facebook.com/me/feed/    
参数为: 
       message = "add news feed test!!!";        access_token = "..."; 

 

以下是一些比较常用的接口提供,facebook官方开发文档地址: 
 
http://developers.facebook.com/docs/reference/api/  
所有facebook提供的接口都可以在官方提供的浏览器工具上测试(或者直接拼装好url在ff上测试即可看到返回效果,在IE上可能会提示下载):  
官方提供的浏览器工具地址:http://developers.facebook.com/tools/explorer  
官方论坛也不错:http://stackoverflow.com  
Twitter API调用例子:http://download.csdn.net/detail/dingding5060/3715744

以上是关于Facebook Oauth2.0 API调用方法的主要内容,如果未能解决你的问题,请参考以下文章

OAuth2.0学习(5-4)新浪开放平台-微博API-使用OAuth2.0调用API

[PHP] 调用微博API 发微博OAuth2.0

怎么使用获得的OAuth2.0 Access Token调用API

怎么使用获得的OAuth2.0 Access Token调用API

通过我的 REST API 和 Facebook 进行用户身份验证

在 .NET 中使用 OAuth2.0 2-legged 方法访问 Jira API