其他分享
首页 > 其他分享> > android – 来自服务器的API调用需要appsecret_proof参数

android – 来自服务器的API调用需要appsecret_proof参数

作者:互联网

我无法使用Android Facebook SDK发出API请求,甚至无法从登录回调中获取用户 – 它始终返回null.

特别是,使用newMeRequest,我收到以下错误消息:

{ "error": {
 "message": "API calls from the server require an appsecret_proof argument", 
 "type": "GraphMethodException", 
 "code": 100   } }

实际上,它似乎很明显,因为在Facebook应用程序选项中将标志设置为true.但是,我知道移动sdks可以在没有秘密的情况下发出API请求.但是,如果我尝试使用Facebook Graph API调试器中currentSession的访问令牌,则响应将与上面相同.

我不知道这是否与新的Android Facebook SDK有关,但我的代码与示例中的代码基本相同.登录很顺利,我得到会话令牌,但我不能发出任何API请求…

loginButton.setUserInfoChangedCallback(new LoginButton.UserInfoChangedCallback() {
    @Override
    public void onUserInfoFetched(GraphUser user) {
        graphUser = user;
    }
});


Request.newMeRequest(currentSession, new Request.GraphUserCallback() {
    @Override
    public void onCompleted(GraphUser user, Response response) {
    }
    }
}).executeAsync();

解决方法:

我能够使其工作的唯一方法是在Facebook应用程序的高级设置中设置为没有应用程序密码证明API调用.

但是,这是一个修复,而不是解决,因为我无法在选项设置为是的情况下执行请求(在iOS facebook sdk中可能).

标签:android,facebook,facebook-graph-api,android-facebook
来源: https://codeday.me/bug/20191006/1861050.html