簡體   English   中英

iOS Facebook SDK v4.1-如何根據需要設置權限

[英]iOS Facebook SDK v4.1 - How to set permission as required

我在我的應用程序中使用iOS FBSDK,該功能允許Facebook作為登錄方式。我的應用程序將要求用戶披露年齡,並且我想使用Facebook的登錄流程來強制執行此要求。 但是,我無法根據需要設置任何內容(公開配置文件除外,默認情況下是必需的)。 我想避免告訴用戶在進入帳戶設置並將其打開之前不能使用該應用程序。 這是一種破壞性的用戶體驗,應用程序確實需要一定的權限才能運行。

我這樣設置登錄按鈕的讀取權限:

self.loginButton.readPermissions = @[@"public_profile", @"email", @"user_photos", @"user_birthday"];

並看到這個:

在此處輸入圖片說明


是否有可能做到這一點? 當我查看與自己的Facebook帳戶綁定的應用程序時,我看到一些具有所需權限的(Tinder,Glassdoor等),因此我認為必須有一種方法。

在此處輸入圖片說明

使用Facebook OAuth對話框時,無法根據需要標記特定權限。

您看到的行為差異最可能是由於您安裝了應用程序的時間以及這些應用程序使用的Graph API版本。 Graph API 1.0不能為人們提供撤消特定讀取權限的功能,並且(我猜)在安裝這些應用程序時,它們的目標是1.0。 使用面向Graph API 2.0或更高版本的應用程序,人們可以撤消特定權限(public_profile除外),並且需要為應用程序做好准備以處理丟失的權限。

您看到的設置對話框反映了用於安裝該特定應用程序的Graph API版本。 2014年4月之后創建的所有Facebook App ID都會自動以創建時有效的Graph API當前版本(2.x)為目標,並且今年早些時候已將先前存在的應用遷移到2.x。 因此,展望未來,人們將始終能夠在安裝應用程序時拒絕除public_profile以外的權限,但是對於已安裝的應用程序,其設置反映了安裝該應用程序時的有效版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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