Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Facebook sdk使用我的应用程序交朋友_Android_Facebook - Fatal编程技术网

Android Facebook sdk使用我的应用程序交朋友

Android Facebook sdk使用我的应用程序交朋友,android,facebook,Android,Facebook,我试图让我的朋友使用与我使用的相同的应用程序,我编写了以下代码: new GraphRequest( AccessToken.getCurrentAccessToken(), "/me/friends", null, HttpMethod.GET, new GraphRequest.Callback() { public void onComp

我试图让我的朋友使用与我使用的相同的应用程序,我编写了以下代码:

 new GraphRequest(
            AccessToken.getCurrentAccessToken(),
            "/me/friends",
            null,
            HttpMethod.GET,
            new GraphRequest.Callback() {
                public void onCompleted(GraphResponse response) {
                    /* handle the result */
                    Log.d("-@-", "graph response " + response.getJSONObject());
                }
            }



        ).executeAsync();
它在logcat中给出了以下错误:

 09-14 21:05:10.096: W/FacebookSDK.Request(12520): starting with Graph API v2.4, GET requests for //me/friends should contain an explicit "fields" parameter.
此外,日志中的输出为:

09-14 21:05:10.706: D/-@-(12520): graph response {"summary":{"total_count":776},"data":[]}

有什么帮助吗?

请尝试此API调用:
me/friends?fields=name

请参阅v2.4的更改日志中的“声明性字段”:尝试:

   private void getUserFriendsFacebookIds() {

        GraphRequest request = new GraphRequest(
                AccessToken.getCurrentAccessToken(),
                "/me/friends",
                null,
                HttpMethod.GET,
                new GraphRequest.Callback() {
                   public void onCompleted(GraphResponse response) {
                   /* handle the result */
                   Log.d("-@-", "graph response " + response.getJSONObject());
    if (response.getError() != null) {
            Log.e(TAG, "User data error: " + response.getError(), response.getError().getException());
        } else {
            setUserFriends(response.getRawResponse());
        }
            }
          }
        );

        Bundle parameters = new Bundle();
        parameters.putString("fields", "id,name");
        request.setParameters(parameters);
        request.executeAsync();

    }

private void setUserFriends(String json) {

    FacebookFriendsInfo ff = new Gson().fromJson(json, FacebookFriendsInfo.class);

    Log.i(TAG, "User friends: " + ff);
    ...
}
要解析响应,请尝试使用GSON库

public class FacebookFriendsInfo {


    public List<Friend> data = new ArrayList<Friend>();


    public String getIds() {

        StringBuilder sb = new StringBuilder();

        for (Friend f : data) {

            sb.append(String.format("%d,", f.id));
        }

        return sb.toString();
    }


    @Override
    public String toString() {
        return "FacebookFriendsInfo{" +
                "data=" + data +
                '}';
    }

    public class Friend {
        public long id;
        public String name;


        @Override
        public String toString() {
            return "Friend{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                    '}';
        }
    }
}
公共类FacebookFriendsInfo{
public List data=new ArrayList();
公共字符串getIds(){
StringBuilder sb=新的StringBuilder();
用于(朋友f:数据){
sb.append(字符串格式(“%d,”,f.id));
}
使某人返回字符串();
}
@凌驾
公共字符串toString(){
返回“FacebookFriendsInfo{”+
“数据=”+数据+
'}';
}
公课朋友{
公共长id;
公共字符串名称;
@凌驾
公共字符串toString(){
返回“朋友{”+
“id=”+id+
“,name=”“+name+”\“””+
'}';
}
}
}

它给了我“图形响应空”的答案,迪特尔的答案实际上更具体。当然,你不能像在android sdk中那样使用api调用,我的答案只是直接调用,就像你在api浏览器中测试它一样。如果“数据”数组中有数据,我如何获取它们?是的,错误消失了,但图形响应仍然相同,我怀疑现在没有朋友使用我的应用程序。谢谢男人:啊。这一次投票,因为它更具体。当然,如果他们还没有授权你的应用程序,你就不会得到任何朋友:)@Monzer Yaghi Facebook允许你创建临时/假帐户并将它们连接到你的应用程序。如果“数据”数组中有数据,我如何才能得到它们?@Monzer Yaghi编辑了我的答案。