Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
1
Question by Imawizrd · Aug 30, 2014 at 06:36 AM · facebookloginpermissions

Facebook SDK - Rerequest Permission

Hi there,

How do you rerequest a permission with Facebook SDK that the user has declined? Specifically I want to rerequest user_friends. publish_actions works if I follow the example described bellow.

example:

if I call

   FB.Login("user_friends", LoginCallback);

And the user declines user_friends. How do I rerequest the permission at a later point?

If I call again

   FB.Login("user_friends", LoginCallback);

Facebook tells me the user has already authorised the application and does not prompt them to authorise the declined permission.

My only solution at the moment is to remove all permissions, log the user out.; then the next time they sign in they will be re requested to authorise all of the permissions.


Here is the test script I'm using. It may be helpful for anyone wanting to test / help out.

 using UnityEngine;
 using System.Collections;
 using System;
 using System.Collections.Generic;
 
 public class FBLoginTest : MonoBehaviour
 {
     bool isInit = false;
     string hasPerm = "***";
 
     void OnGUI()
     {
         if (GUI.Button (new Rect (10, 10, 300, 100), "InitInit: " + isInit))
             CallFBInit ();
 
         if (GUI.Button (new Rect (10, 110, 300, 100), "LogIn - Logged: " + FB.IsLoggedIn))
             CallFBLogin ();
 
         if (GUI.Button (new Rect (10, 210, 300, 100), "Permission - friends: " + hasPerm))
             CallPermissionCheck();
     }
 
     private void CallFBInit()
     {
         FB.Init(OnInitComplete, OnHideUnity);
     }
 
     private void OnInitComplete()
     {
         Debug.Log("FB.Init completed: Is user logged in? " + FB.IsLoggedIn);
         isInit = true;
     }
     
     private void OnHideUnity(bool isGameShown)
     {
         Debug.Log("Is game showing? " + isGameShown);
     }
 
     private void CallFBLogin()
     {
         FB.Login("publish_actions, user_friends", LoginCallback);
     }
     
     void LoginCallback(FBResult result)
     {
         string lastResponse;
 
         if (result.Error != null)
             lastResponse = "Error Response:\n" + result.Error;
         else if (!FB.IsLoggedIn)
         {
             lastResponse = "Login cancelled by Player";
         }
         else
         {
             lastResponse = "Login was successful!";
         }
 
         Debug.Log("lastResponse: "+lastResponse);
     }
 
     void CallPermissionCheck()
     {
         FB.API("/me/permissions", Facebook.HttpMethod.GET, PermissionCallback);
     }
 
     void PermissionCallback(FBResult result)
     {
         if (!String.IsNullOrEmpty(result.Error))
         {
             Debug.Log("Error Response:\n" + result.Error);
         }
         else
         {
             Debug.Log("Get user's permissions was successful!");
             Debug.Log ("Result: "+result.Text);
 
 
             var permissionDict = Facebook.MiniJSON.Json.Deserialize(result.Text) as Dictionary<string, object>;
             IDictionary persmissionData = permissionDict;
             foreach(IDictionary perm in (List<object>)persmissionData["data"])
             {
                 if((string)perm["permission"] == "user_friends")
                 {
                     hasPerm = (string)perm["status"];
 
                     // This will deauthorise the permissions for the user and then log them out
                     /*
                     if(hasPerm != "granted")
                     {
                         FB.API ("me/permissions", Facebook.HttpMethod.DELETE, RemovePermissionCallback);
                         FB.Logout();
                     }
                     */
                 }
             }
 
         }
     }
 
     void RemovePermissionCallback(FBResult result)
     {
         if (!String.IsNullOrEmpty(result.Error))
         {
             Debug.Log("Error Response:\n" + result.Error);
         }
         else
         {
             Debug.Log("RemovePermissionCallback was successful!");
             Debug.Log ("Result: "+result.Text);
         }
     }
 
 }













Comment
Add comment · Show 3
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Kiwasi · Aug 30, 2014 at 07:04 AM 0
Share

Odd, I thought attempting to login again would work. Will do some digging when I get the time.

avatar image Imawizrd · Aug 30, 2014 at 07:10 AM 0
Share

@Bored$$anonymous$$ormon thanks, I appreciate any help. I've been digging up the internet for a while on this one.

avatar image Kiwasi · Aug 30, 2014 at 07:57 AM 0
Share

I feel your pain. The documentation for the SD$$anonymous$$ is pretty weak

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

24 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Facebook Unity SDK login permission request pop up for authorized user 0 Answers

Given URL is not allowed by the Application configuration 0 Answers

first steps with facebook developer 0 Answers

Facebook in editor access token auto paste 2 Answers

Error Facebook Login 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges