2012-09-05 40 views
0

我想知道我是否可以在請求時設置圖片寬度和高度。有人建議我使用以下查詢來實現此行爲:如何使用FBGraph-API使用FQL查詢獲取朋友配置文件圖片

SELECT id, width, height, url, is_silhouette, real_width, real_height FROM profile_pic 
WHERE id=me() AND width=155 AND height=50 

這是正確的過程嗎?根據我的要求,我需要在表格中顯示配置文件圖片,如附件屏幕截圖所示,其中155爲寬度,50爲高度。

My Friends List

由於提前

回答

0

FQL獲得的Facebook好友信息列表&他們的照片管理

NSString *query = @"SELECT uid,name,first_name,last_name,pic_square FROM user WHERE uid IN ("; 
query = [query stringByAppendingFormat:@"SELECT uid2 FROM friend WHERE uid1 = %@)",userid]; 
NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
           query, @"query", 
           nil]; 
[_facebook requestWithMethodName: @"fql.query" 
         andParams: params 
        andHttpMethod: @"POST" 
        andDelegate:self]; 

您將獲得性反應在follwing方法

-(void)request:(FBRequest *)request didLoad:(id)result 

對於示例

{ 
    "first_name" =User; 
    "last_name" = R; 
    name = "User R"; 
    "pic_square" = "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash2/.jpg"; 
    uid = 595sd1; 
    } 
{},{} etc 

希望這會有所幫助!

另一種方式是

獲取ID(或暱稱)的用戶,並從https://graph.facebook.com/idOrNick/picture

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture", id]]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 
UIImage *image = [UIImage imageWithData:data]; 
UIImageView *imgView = [[UIImageView alloc]init]; 
imgView.image = image; 

而對於大小

圖像尺寸得到的圖片: 廣場(50 ×50)

小(50像素寬,可變高度)

大(約200個像素寬,可變高度)

和用於施加這種類型的大小的,你必須URL的

例如

http://graph.facebook.com/「ID或尼克」結束其追加/圖象β型=大。 [小/方形/大]

+0

的Femina:我使用FBGraphAPI,什麼是變量_facebook – iYahoo

+0

我需要知道如何設置它的寬度和高度 – iYahoo

+0

_facebook是Facebook類的對象。 – Wolverine

0

這是一個代碼,它可以幫助您獲取朋友的個人資料圖片。

  1. 從FBGraph API如

    NSString *id = @"505326797"; 
    
  2. 然後粘貼下面的代碼獲取朋友的Id ...

    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture",id]]; 
    
  3. 這是你能得到的方式朋友的照片的確切網址,,在異步圖像視圖或其他地方使用這個......

也許它會幫助你...

+0

我正在找朋友個人資料圖片,但是我想知道怎樣才能設置朋友個人資料圖片的寬度和高度 – iYahoo

+0

你可以設置imageView的寬度/高度,但是你的圖片會被拉伸然後...... –

+0

那就是爲什麼我想要沒有streching,我們想給以前的寬度和高度 – iYahoo

0

是的。你的代碼是正確的。這將得到您的圖片版本,大約是。 155 x 50px。

如果你想獲得一個用戶的朋友的照片,用this query

SELECT id, width, height, url, is_silhouette, real_width, real_height 
    FROM profile_pic 
     WHERE id IN (SELECT uid1 FROM friend WHERE uid2=me()) AND width=155 AND height=50 
+0

謝謝你的答案,但我想知道如何發送該查詢到Facebook,我我正在使用FBGraphAPI,在那裏我沒有requestWithMethodName,requestWithDelegate, – iYahoo

0

使用圖形API領域擴張的方法 -

graph.facebook.com/USER_ID?fields=friends.fields(picture.height(50).width(155)) 
+0

我試過這種方式,當我給這種方式我得到的圖像寬度爲0.00,高度也爲0.00 – iYahoo

0

我找的這個問題的答案,太。最後我覺得這個電話是最好的:

http://graph.facebook.com/me/friends?fields=name,picture.height(200).width(200) 

你也可以用某個id替換'me'。

0

根據文檔https://developers.facebook.com/docs/reference/api/using-pictures/,有一種更簡單的方法來做到這一點。直接網址來從Facebook獲得定製的形象是:

https://graph.facebook.com/<USER_ID>/picture?width=<WIDTH>&height=<HEIGHT> 

我明白的問題是關於使用GraphAPI得到URL,但爲什麼要讓一個額外的電話時,你可以直接給圖片src網址。

<img src="https://graph.facebook.com/${ID}/picture?width=${customwidth}&height=$customheight" /> 
相關問題