`
REALGODO
  • 浏览: 177123 次
  • 性别: 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 视频

 

 

 

分享到:
评论

相关推荐

    facebook api和facebook_jar包

    Facebook API和Facebook_JAR包是开发者用来与Facebook平台进行交互的重要工具,它们使得开发者能够创建应用程序,集成到Facebook生态系统中,实现数据交换、用户登录验证、发布内容等功能。Facebook API通常指的是...

    Android facebook 自定义按钮第三方登录包括获取用户信息

    在Android应用开发中,集成第三方登录服务是一种常见的增强用户体验的方式,Facebook作为全球用户广泛的社交平台,其SDK提供了方便的API供开发者实现自定义按钮的Facebook登录功能。本篇将详细介绍如何在Android应用...

    Android 仿facebook布局效果-IT计算机-毕业设计.zip

    Android提供了丰富的动画API,如ObjectAnimator、ValueAnimator和Transition,可以创建流畅的动画效果。 8. **性能优化**:考虑到性能和内存管理,使用Paging库可以帮助分页加载数据,避免一次性加载大量内容导致的...

    facebook-android-sdk

    下面我们将深入探讨Facebook Android SDK的核心特性、使用方法以及相关开发知识点。 一、Facebook登录与授权 Facebook SDK为Android应用提供了简单易用的登录接口,允许用户通过Facebook账户进行身份验证。开发者...

    facebook android sdk

    Facebook Android SDK是一个专门为Android开发者设计的工具包,它允许...在使用facebook-android-sdk-3.5时,开发者应熟悉其文档,掌握各种API的使用方法,以便充分利用这个SDK的优势,打造出更具吸引力的社交应用。

    facebook-android-sdk-4.18.0.zip

    Facebook Android SDK 4.18.0 是一个用于在Android应用程序中集成Facebook功能的开发工具包。这个SDK允许开发者轻松地实现用户登录、分享、广告、分析和其他Facebook服务。2017年发布的这个版本是当时最新的,为...

    Facebook登录 分享Android项目库

    在Android开发中,集成社交平台如Facebook的功能是一个常见的需求,这包括用户通过Facebook账户进行登录以及分享内容到用户的Facebook时间线。本项目库提供了一种简单有效的方式,帮助开发者快速实现这些功能。以下...

    适用于安卓的脸书开发工具包,Facebook集成到您的Android应用程序中的APP完整项目开源代码

    适用于 Android 的 Facebook SDK 的当前版本是 11.2.0,需要 Android API 15。适用于 Android 的 Facebook SDK 的代码和示例可在 GitHub 上找到。一种安全便捷的方式,方便用户使用 Facebook 凭据登录您的应用或网站...

    Android分享到Facebook的sdk和demo源码

    3. **GraphAPISample**:此示例展示了如何使用Facebook的Graph API来获取用户数据、发布帖子或执行其他API调用。这对于获取用户的朋友列表、兴趣爱好等信息,或者在用户的Facebook页面上发布动态非常有用。 `...

    facebook-android-sdk-4.42.0

    Facebook Android SDK 4.42.0 是一个用于在Android应用中集成Facebook功能的重要开发工具包。这个SDK包含了多个模块,让开发者能够轻松地添加社交元素到他们的应用程序中,如用户登录、分享内容、营销自动化以及与...

    Android-Facebook开源的一个轻松构建文本布局的Android库

    为了简化这一过程,Facebook开源了一款名为`TextLayoutBuilder`的Android库。这个库的出现旨在帮助开发者更轻松地创建和管理文本布局,尤其适用于那些需要高度自定义和动态变化的文本展示场景。 `TextLayoutBuilder...

    Android代码-Facebook客户端.zip

    9. **事件监听与响应**:使用Facebook SDK的API,开发者需要监听并处理用户的行为,如点击按钮触发分享或登录事件。 10. **权限管理**:在Android 6.0及以上版本,应用需要动态请求运行时权限,如读写存储权限、...

    Facebook-Android-sdk-4.8.2

    通过使用Facebook Android SDK,开发者可以轻松地与Facebook平台进行交互,为用户提供更加丰富的社交体验。 首先,SDK中的核心组件是`facebook-android-sdk.jar`,它包含了Facebook API的核心类和方法。开发者可以...

    facebook-android-sdk-4.11.0内附demo

    要在Android项目中使用Facebook SDK,开发者需要将其添加到Gradle依赖中,然后进行必要的配置,如在AndroidManifest.xml中添加权限和Activity声明。 8. **权限管理**: 为了遵守GDPR等隐私法规,Facebook SDK提供...

    facebook-android-sdk-4.6.0

    Facebook Android SDK 4.6.0 是Facebook提供的一款开发工具包,专为Android开发者设计,以便在他们的应用程序中集成Facebook的功能。这个SDK允许开发者轻松地实现Facebook登录、分享内容、获取用户信息以及与用户的...

    Android基于Facebook Rebound的动画效果框架.zip

    Android基于Facebook Rebound的动画效果框架是一个基于Facebook Rebound的动效框架Backboard,封装了一些API,便于开发者更方便的把View与Motion结合起来,一些效果很棒

    facebook-android-sdk-4.19.0

    在使用Facebook Android SDK 4.19.0时,开发者需要注意遵守Facebook的开发者政策,同时要考虑到用户隐私,正确处理数据权限。此外,良好的错误处理和用户体验设计也是成功集成的关键。在实际项目中,需要根据应用...

    Android Facebook客户端.zip

    在Android平台上,Facebook客户端是一个广泛使用的社交应用,它允许用户连接到全球的Facebook社区,分享信息、照片、视频,以及参与各种社交互动。这个压缩包文件"Android Facebook客户端.zip"可能包含了开发这样一...

    安卓Android源码——Facebook客户端.zip

    源码中会包含使用Android的`HttpURLConnection`或第三方库如Volley、OkHttp进行网络请求的代码。同时,Facebook提供了Graph API供客户端使用,源码中会有如何构造和解析这些API请求的部分。 4. **数据存储与缓存** ...

Global site tag (gtag.js) - Google Analytics