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); }