AccessToken 令牌:ACCESS_TOKEN_REMOVED 权限:[public_profile]- Android

时间:2021-04-26 17:40:16

标签: android facebook-graph-api facebook-live-api

在我的应用中,我希望任何用户都可以使用他们的 Facebook 帐户登录。当我使用与创建 Facebook 开发者帐户相同的 Facebook 帐户时,它工作正常,但每当我尝试使用任何其他帐户登录时都会出错

{RequestAsyncTask:  connection: null, requests: [{Request:  accessToken: {AccessToken token:ACCESS_TOKEN_REMOVED permissions:[public_profile]}, graphPath: /500635634641164/live_videos, graphObject: {"title":"test","value":"EVERYONE"}, httpMethod: POST}]}

我已经尝试了所有可能的解决方案,但仍然遇到同样的问题。这是我的代码:

class FacebookActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_facebook)
  
    val accessToken = AccessToken.getCurrentAccessToken()
    val isLoggedIn = accessToken != null && !accessToken.isExpired
    if (isLoggedIn) {
        getUserId()
    } else {
        login()
    }
}

private fun login() {
    progress.visibility = View.GONE
    callbackManager = CallbackManager.Factory.create()

    LoginManager.getInstance().registerCallback(callbackManager,
        object : FacebookCallback<LoginResult?> {
            override fun onSuccess(loginResult: LoginResult?) {
                // App code
                getUserId()
            }

            override fun onCancel() {
                // App code
            }

            override fun onError(exception: FacebookException) {
                // App code
            }
        })
}


override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    callbackManager.onActivityResult(requestCode, resultCode, data)
    super.onActivityResult(requestCode, resultCode, data)
}

private fun getUserId() {
    progress.visibility = View.VISIBLE
    val request = GraphRequest.newMeRequest(
        AccessToken.getCurrentAccessToken()
    ) { jsonObject, response ->
        // Insert your code here
        val id = jsonObject.get("id")
        val name = jsonObject.get("name")
        val response = response.rawResponse
        Log.d("FB", "userId: $id")
        getLiveVideoUrl(id.toString())
    }

    val parameters = Bundle()
    parameters.putString("fields", "id,name")
    request.parameters = parameters
    request.executeAsync()
}

private fun getLiveVideoUrl(userId: String) {
    val request = GraphRequest.newPostRequest(
        AccessToken.getCurrentAccessToken(),
        "/$userId/live_videos",
        JSONObject("{\"title\":\"test\", \"value\":\"EVERYONE\"}")
    ) {
        progress.visibility = View.GONE
        val url = it.jsonObject.get("secure_stream_url")
        val id = it.jsonObject.get("id")
        startActivity(intent)
    
    }
    request.executeAsync()

}

}

0 个答案:

没有答案
相关问题