![](/img/trans.png)
[英]Unable to access public_profile permission in IOS(Facebook SDK)
[英]Can i revoke public_profile permission from facebook iOS sdk?
在我的應用程序中,我遇到了一些問題。 我希望有人可以幫助我。 因此,故事是,當用戶使用其Facebook帳戶登錄我的應用程序時,我正在使用他的Facebook登錄信息在數據庫中創建一個帳戶。
現在,當用戶從我的應用程序(和最終從數據庫中)刪除其帳戶時,他的帳戶仍列在使用Facebook登錄名安裝了我的應用程序的用戶的Facebook列表中。 因此,當用戶從我的數據庫中刪除帳戶時,我也希望從Facebook上刪除該用戶的帳戶。 為了解決此問題,我進行了搜索,發現我可以使用戶撤消來自Facebook iOS SDK的權限。 我不知道這是否可以解決我的問題,但我想我可以嘗試一下。
現在,當我使用以下代碼撤消用戶的訪問權限時:
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me/permissions/public_profile"
parameters:nil
HTTPMethod:@"DELETE"]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
NSLog(@"DELETE-public_profile == %@",result);
}];
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me/permissions/email"
parameters:nil
HTTPMethod:@"DELETE"]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
NSLog(@"DELETE-Email == %@",result);
}];
public_profile的權限訪問不會被撤消。
甚至可以刪除此權限嗎?
如果不是,那我應該如何解決我從Facebook列表中刪除帳戶的基本問題。
從本質上講,只要FBSDK圖可以讓您走,只需將對我有用的@“ me / permissions / public_profile”替換為@“ me / permissions”。
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me/permissions" parameters:nil
HTTPMethod:@"DELETE"] startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
// ...
}];
這將刪除所有權限,並應完全撤消訪問權限以及將用戶與應用分離
另外,是否嘗試查看在其網站上使用FB graph API時調用此刪除的效果?:
https://developers.facebook.com/docs/facebook-login/permissions/v2.4
那是:
撤銷登錄
您還可以通過調用此Graph API端點,讓人們完全取消對應用程序的授權或撤消登錄:
刪除/ {user-id} /權限
必須使用有效的用戶訪問令牌或當前應用程序的應用程序訪問令牌發出此請求。 如果請求成功,您的應用將收到true的響應。 如果呼叫成功,則此人的任何用戶訪問令牌都將失效,並且他們將不得不再次登錄。 由於您正在取消對應用程序的授權,因此他們也必須像首次登錄一樣授予對您應用程序的訪問權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.