2010-08-03 75 views
22

我想要得到朋友的生日清單。如何使用facebook api獲取朋友的生日清單?

但如何找到使用我的API我不知道。

+14

它可以幫助你去通過,並接受一些你的23個問題的答案......這裏的人會更容易幫助,如果他們知道他們也許能得到一些代表對他們的努力... – 2010-08-03 04:41:47

+1

什麼這與android有關嗎? – 2010-08-03 04:42:28

+5

哪種語言?什麼平臺?示例代碼?錯誤消息?沒有公認的答案..這就像在如何不使用SO :)可能要考慮通過你如何處理這個網站.. – dmp 2010-08-03 08:51:07

回答

17

注意:這已不再可能。請參閱this answer

在你用來檢索信息的環境中使用OpenGraph API。生日在用戶信息對象中,請參閱文檔:http://developers.facebook.com/docs/reference/api/user

+6

我將是有益的,如果你好心給一個演示代碼與此API訪問的生日列表中的大師班。如果可能的話!!!!!!!!!!! – 2010-08-13 06:18:22

+1

你可以使用圖形API https://graph.facebook.com/me/friends?fields=id,name,birthday&access_token=生日是確保您有權限給你的朋友列表和生日或將返回空值。 – Underdog 2012-08-01 08:18:03

6

您必須使用FQL獲取朋友的生日清單。

FQL會(只需更換您的訪問令牌):

「https://api.facebook.com/method/fql.query?query=select名,birthday_date從用戶那裏UID在(從朋友選擇UID2其中UID1 =我())& =的access_token your_access_token

20

您還可以使用Facebook的API:

$friends_birthday = $facebook->api("/me/friends?fields=id,name,birthday"); 

還必須有權限friends_birthday在您的應用程序的範圍

+3

請提防日期是相對於用戶的位置,這樣*您需要'user_friends'以及它可能是MM/DD/YYY或DD/MM/YYYY或DD/MM或MM/DD – ysrb 2014-01-13 06:53:14

0

得到與圖形API,迭代JSON數據陣列的全部好友列表,然後檢查生日= ..今天是

6

這是鏈接對於圖形API瀏覽器

https://developers.facebook.com/tools/explorer/?method=GET&path=me去的鏈接和點擊獲取訪問Tocken你可以有一個彈出的選擇權限 並選擇您的訪問令牌。 並在節點部分選擇你想要的字段(例如選擇好友並作爲朋友中的子鏈接選擇生日)和GET查詢點擊提交然後你可以有一個朋友的生日和id作爲你的Json數據。

0

你可以得到好友列表中的ios這樣:

- (IBAction)pickFriendsClick:(UIButton *)sender { 
    NSArray *permissions = [[NSArray alloc] initWithObjects: 
         @"user_birthday",@"friends_hometown", 
         @"friends_birthday",@"friends_location", 
         nil]; 
    [FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:YES completionHandler:nil]; 
    FBRequest *friendRequest = [FBRequest requestForGraphPath:@"me/friends?fields=name,picture,birthday,location,updated_time,email"]; 
    [ friendRequest startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
    NSArray *data = [result objectForKey:@"data"]; 
    NSMutableArray *friends= [data mutableCopy]; 
    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"updated_time" 
                    ascending:TRUE]; 
    [friends sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]]; 

    for (FBGraphObject<FBGraphUser> *friend in friends) { 
     NSLog(@"%@:%@", [friend name],[friend birthday]); 
    }}]; 
} 

感謝。

0

嘗試這一點,只需要幾行

FBRequest * request = [FBRequest requestForGraphPath:@"me/friends? 
              fields=id,name,birthday&limit=5000"]; 

[request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) 
{ 
    if(error == nil){ 

     NSLog(@"%@",result); 
    } 
}]; 
17

由於圖形API的2.0版,it's不可能得到朋友的生日了。您只能使用user_birthday權限獲得授權用戶的生日。的修改記錄的詳細信息:https://developers.facebook.com/docs/apps/changelog

只有一個其他可能性:如果好友授權的應用程序與user_birthday,你可以得到他的生日與以下電話:/friend-id?fields=birthday

當然,你需要對用戶進行授權與user_friends也是爲了使這項工作。而且您還可以存儲所有授權用戶的生日,並且不會浪費額外的API調用。

+0

I *想。 – phwd 2015-02-26 16:57:21

+0

好吧,你沒有得到任何朋友,所以我認爲這將是顯而易見的:) - 但我會添加它,只是爲了安全。對大家來說可能並不明顯。 – luschn 2015-02-26 16:57:54

+2

你知道Facebook開發者..明顯是最遠的東西 – phwd 2015-02-26 16:58:44

0

FB.api('me/friends?fields=id,name,birthday')不工作作爲2017年9月12日。

下面是當我嘗試打終點從圖形資源管理器工具的調試消息。

Only friends who installed this app are returned in API v2.0 and higher. total_count in summary represents the total number of friends, including those who haven't installed the app 

對於只返回該用戶的好友列表,你可以嘗試擊中有效的訪問令牌

FB.api('me/friendlists') 

下面的點,但請注意,你需要read_custom_friendlists從用戶權限。