`
REALGODO
  • 浏览: 175070 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android使用facebook api(三)

 
阅读更多

  本文旨在介绍facebook的graph api 

   graph API 简介

    facebook的graph api是一套REST化的api,通过统一而稳定URL定义请访问数据对象,通过对http协议的GET,POST,DELETE三种请求进行数据操作的细分,响应JSON格式的数据包,组成了facebook的 graph api。

 

  • 首先看一个get请求的例子

https://graph.facebook.com/100000588112696,抓取User对象,格式客户端需要对response解析json格式,返回值如下。facebook-android/ios本身提供了sdk可以对json格式进行解析,其他平台需要额外写一套解析器来解析json格式。

{
   "id": "100000588112696",
   "name": "Jiqiang Bi",
   "first_name": "Jiqiang",
   "last_name": "Bi",
   "link": "http://www.facebook.com/bijiqiang",
   "username": "bijiqiang",
   "gender": "male",
   "locale": "zh_CN"
}

 

 

  • 再来看一个post请求的例子

  https://graph.facebook.com/100000588112696/feed/ 创建一个post请求的http将参数传入

 

{
 "caption": "realgodo",
   "name": "realgodo",
   "link": "http://realgodo.iteye.com",
   "description": "Coming from my app",
   "link": "http://www.facebook.com/bijiqiang",
   "picture":"http://www.iteye.com/upload/logo/user/583286/acd59a73-6a14-3a17-a0ae-4ac30d5c43c8.png?1320570681"
}

 

   返回的数据是

{	"id": "100000588112696_302491803113754" 
   
}

 

 

   graph Api能做什么

 

  •      抓取(fetch)

 

     首先调用调用https://graph.facebook.com/100000588112696?metadata=1&access_token=AAAAAAITEghMBAEZCbjrGZATmhq3YdIVb972ViUZBKe8KOdo5ZBk3SuZBjfTh0aS55snTMCA5dXaJSUmdqPiaGpXxH9u3qyb8YATyEa0kTfk5Yt2ELEMax

可以查看全部可以使用的graph api 包括必要的参数,一般就是access_token。

首先 看一组使用access_token的get型接口列表,主要是抓取数据。

 	 "home": "https://graph.facebook.com/100000588112696/home?access_token=",
         "feed": "https://graph.facebook.com/100000588112696/feed?access_token=",
         "friends": "https://graph.facebook.com/100000588112696/friends?access_token=",
         "mutualfriends": "https://graph.facebook.com/100000588112696/mutualfriends?access_token=",
         "family": "https://graph.facebook.com/100000588112696/family?access_token=",
         "payments": "https://graph.facebook.com/100000588112696/payments?access_token=",
         "activities": "https://graph.facebook.com/100000588112696/activities?access_token=",
         "interests": "https://graph.facebook.com/100000588112696/interests?access_token=",
         "music": "https://graph.facebook.com/100000588112696/music?access_token=",
         "books": "https://graph.facebook.com/100000588112696/books?access_token=",
         "movies": "https://graph.facebook.com/100000588112696/movies?access_token=",
         "television": "https://graph.facebook.com/100000588112696/television?access_token=",
         "games": "https://graph.facebook.com/100000588112696/games?access_token=",
         "adaccounts": "https://graph.facebook.com/100000588112696/adaccounts?access_token=",
         "likes": "https://graph.facebook.com/100000588112696/likes?access_token=",
         "posts": "https://graph.facebook.com/100000588112696/posts?access_token=",
         "tagged": "https://graph.facebook.com/100000588112696/tagged?access_token=",
         "statuses": "https://graph.facebook.com/100000588112696/statuses?access_token=",
         "links": "https://graph.facebook.com/100000588112696/links?access_token=",
         "notes": "https://graph.facebook.com/100000588112696/notes?access_token=",
         "photos": "https://graph.facebook.com/100000588112696/photos?access_token=",
         "albums": "https://graph.facebook.com/100000588112696/albums?access_token=",
         "events": "https://graph.facebook.com/100000588112696/events?access_token=",
         "groups": "https://graph.facebook.com/100000588112696/groups?access_token=",
         "videos": "https://graph.facebook.com/100000588112696/videos?access_token=",
         "picture": "https://graph.facebook.com/100000588112696/picture?access_token=",
         "inbox": "https://graph.facebook.com/100000588112696/inbox?access_token=",
         "outbox": "https://graph.facebook.com/100000588112696/outbox?access_token=",
         "updates": "https://graph.facebook.com/100000588112696/updates?access_token=",
         "accounts": "https://graph.facebook.com/100000588112696/accounts?access_token=",
         "checkins": "https://graph.facebook.com/100000588112696/checkins?access_token=",
         "apprequests": "https://graph.facebook.com/100000588112696/apprequests?access_token=",
         "friendlists": "https://graph.facebook.com/100000588112696/friendlists?access_token=",
         "friendrequests": "https://graph.facebook.com/100000588112696/friendrequests?access_token=",
         "permissions": "https://graph.facebook.com/100000588112696/permissions?access_token=",
         "notifications": "https://graph.facebook.com/100000588112696/notifications?access_token=",
         "scores": "https://graph.facebook.com/100000588112696/scores?access_token="	
 
  • 查询功能(search)

 

All public posts: https://graph.facebook.com/search?q=watermelon&type=post
People: https://graph.facebook.com/search?q=mark&type=user
Pages: https://graph.facebook.com/search?q=platform&type=page
Events: https://graph.facebook.com/search?q=conference&type=event
Groups: https://graph.facebook.com/search?q=programming&type=group
Places: https://graph.facebook.com/search?q=coffee&type=place&center=37.76,122.427&distance=1000
Checkins: https://graph.facebook.com/search?type=checkin
 

 

  •    发布功能(publish)

https://graph.facebook.com/${PROFILE_ID}/feed

 

https://graph.facebook.com/${OBJECT_ID}/comments
https://graph.facebook.com/${OBJECT_ID}/likes
https://graph.facebook.com/${PROFILE_ID}/notes
https://graph.facebook.com/${PROFILE_ID}/links
https://graph.facebook.com/${PROFILE_ID}/events
https://graph.facebook.com/${EVENT_ID}/attending
https://graph.facebook.com/${EVENT_ID}/maybe
https://graph.facebook.com/${EVENT_ID}/declined
https://graph.facebook.com/${PROFILE_ID}/albums
https://graph.facebook.com/${ALBUM_ID}/photos
https://graph.facebook.com/${PROFILE_ID}/checkins

  ${PROFILE_ID}是User.id,${ALBUM_ID}是Album.id

 

  •    删除功能

 

https://graph.facebook.com/${ID}?access_token=...   HTTP/1.1

    ${ID}是对象的主键,规则是${User.id}_${Object.id}

 

    其他的功能类别还包括分析(Analytics),批量操作(Batch Requests)

 

 

  •   graph api class介绍

 

     Achievement  附件

     用户的附件

 

     Album 相册

     招聘相册

 

     Application应用程序

     在facebook注册的应用程序

 

     Checkin签到

 

     Comment评论

 

     Domain域名

 

     Event facebook事件

 

     FriendList 朋友列表

 

     Group 群组

 

     Insights 统计分析

     app,页面,域名的统计分析结果

 

     Link 链接

     分享的链接

 

     Message 消息

     线程内消息

 

     Note提示

 

     Page 页面

 

     Photo照片

 

     Post 涂鸦墙内容

 

     Question 问题

     用户提问

 

     QuestionOption 备选答案

     用户提问的一个备选答案

 

     Review反馈

     对app的反馈

 

     Status message 涂鸦墙消息

 

     Subscription订阅

 

     Thread 消息线程

 

     User 用户

 

     Video 视频

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics