可能是由于访问令牌已过期或被撤销所致。您可以尝试通过以下方式解决该问题:
确保您的应用程序具有正确的访问令牌。您可以通过使用Graph API Explorer或Facebook Access Token Tool来获取访问令牌。
如果您的访问令牌已过期,则可以尝试使用扩展访问令牌来更新它。您 can 通过以下代码示例获取扩展访问令牌:
AccessToken token = AccessToken.getCurrentAccessToken(); AccessTokenSource accessTokenSource = token.getSource(); if (accessTokenSource != null && accessTokenSource.equals(AccessTokenSource.FACEBOOK_APPLICATION_WEB)) { Bundle bundle = new Bundle(); bundle.putString("grant_type", "fb_exchange_token"); bundle.putString("client_id", APP_ID); bundle.putString("client_secret", APP_SECRET); bundle.putString("fb_exchange_token", token.getToken());
GraphRequest newTokenRequest = new GraphRequest(null, "/oauth/access_token", null, HttpMethod.GET, new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse response) {
AccessToken newAccessToken = AccessToken.createFromExistingAccessToken(token, response.getJSONObject().optString("access_token"), response.getJSONObject().optLong("expires_in"), null);
AccessToken.setCurrentAccessToken(newAccessToken);
// 新访问令牌已设置
}
});
newTokenRequest.setParameters(bundle);
newTokenRequest.executeAsync();
}
希望这可以帮助您解决您在使用Facebook API时遇到的问题。