![](/img/trans.png)
[英]How to give extended permissions in FBConnect with REST API in iPhone
[英]iPhone + Facebook API: how to detect when need to ask for “extended permissions”?
我剛剛開始使用iPhone版Facebook Connect 。 我已經能夠創建一個登錄/注銷按鈕,啟動和恢復會話以及更新Facebook狀態。
但是,我不知道怎么做的一件事就是檢測何時需要擴展權限 (例如更新用戶狀態所需的權限 )。 一旦為我的應用程序完成了一次,就好像在服務器端記住了這一點,並且我不再需要通過對話框來煩擾用戶。 如果我在不需要時彈出對話框,它會短暫顯示,然后消失,這會產生令人討厭的閃爍效果。
所以我的問題是: 如何檢測用戶(會話?)已經授予了這種權限?
Facebook Connect在他的API上有一種方法可以顯示此信息: facebook.Users.hasAppPermission
有關更多詳細信息,請參見文檔: http : //wiki.developers.facebook.com/index.php/Users.hasAppPermission
要使用FBRequest方法調用此API,請使用以下代碼:
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
@"status_update" , @"ext_perm",
@"1234" , @"uid",
nil];
[[FBRequest requestWithDelegate:self] call:@"facebook.users.hasAppPermission"
params:params];
您只需傳遞ext_perm
和uid
參數,其余所有Facebook Connect都會自動解決。
現在要接收結果,您需要實現一個回調方法:
- (void)request:(FBRequest*)request didLoad:(id)result {
NSString* StringResult = result;
NSLog(@"Query returned %@", StringResult);
}
結果將是一個字符串值:如果您的應用程序已授權,則為“ 1”,否則為“ 0”。
我們開發了一個類來簡化原始的Facebook Connect,創建一個可以持久保存在所有應用程序對象上的單個會話對象。 還為您提供了執行登錄,注銷和發布提要等簡單任務的簡單方法。
一個示例是實現一個簡單的登錄,只需在您的會話對象上調用login方法:
[fbsession login];
此代碼將打開一個Facebook Connect對話框,並要求您的用戶提供登錄名和密碼。 如果登錄成功,則有關此會話的所有信息將被存儲,並且可以在您應用程序的任何位置輕松訪問。
您可以在此處下載並查看所有文檔: http : //code.google.com/p/fbconnectsession/wiki/關於
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.