簡體   English   中英

iPhone + Facebook API:如何檢測何時需要詢問“擴展權限”?

[英]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_permuid參數,其余所有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM