Я пытаюсь добавить в мое приложение для Android функцию, которая позволяет пользователям "регистрироваться" вместе с другими людьми, отмеченными для регистрации.У меня есть метод checkins, работающий без проблем, и я могу пометить его, добавив идентификатор пользователя в качестве параметра (см. Код ниже)
public void postLocationTagged(String msg, String tags, String placeID, Double lat, Double lon) {
Log.d("Tests", "Testing graph API location post");
String access_token = sharedPrefs.getString("access_token", "x");
try {
if (isSession()) {
String response = mFacebook.request("me");
Bundle parameters = new Bundle();
parameters.putString("access_token", access_token);
parameters.putString("place", placeID);
parameters.putString("Message",msg);
JSONObject coordinates = new JSONObject();
coordinates.put("latitude", lat);
coordinates.put("longitude", lon);
parameters.putString("coordinates",coordinates.toString());
parameters.putString("tags", tags);
response = mFacebook.request("me/checkins", parameters, "POST");
Toast display = Toast.makeText(this, "Checkin has been posted to Facebook.", Toast.LENGTH_SHORT);
display.show();
Log.d("Tests", "got response: " + response);
if (response == null || response.equals("") ||
response.equals("false")) {
Log.v("Error", "Blank response");
}
} else {
// no logged in, so relogin
Log.d(TAG, "sessionNOTValid, relogin");
mFacebook.authorize(this, PERMS, new LoginDialogListener());
}
} catch(Exception e) {
e.printStackTrace();
}
}
Это отлично работает (я опубликовал его на случай, если это поможеткому-то еще!), проблема, с которой я столкнулся, заключается в том, что я пытаюсь создать список друзей пользователей, чтобы они могли выбрать друзей, которых они хотят пометить.У меня есть метод getFriends (см. Ниже), который я затем собираюсь использовать для создания AlertDialog, который пользователь может выбрать, из которого, в свою очередь, даст мне идентификатор для использования в вышеупомянутом методе "postLocationTagged".
public void getFriends(CharSequence[] charFriendsNames,CharSequence[] charFriendsID, ProgressBar progbar) {
pb = progbar;
try {
if (isSession()) {
String access_token = sharedPrefs.getString("access_token", "x");
friends = charFriendsNames;
friendsID = charFriendsID;
Log.d(TAG, "Getting Friends!");
String response = mFacebook.request("me");
Bundle parameters = new Bundle();
parameters.putString("access_token", access_token);
response = mFacebook.request("me/friends", parameters, "POST");
Log.d("Tests", "got response: " + response);
if (response == null || response.equals("") ||
response.equals("false")) {
Log.v("Error", "Blank response");
}
} else {
// no logged in, so relogin
Log.d(TAG, "sessionNOTValid, relogin");
mFacebook.authorize(this, PERMS, new LoginDialogListener());
}
} catch(Exception e) {
e.printStackTrace();
}
}
Когда я смотрю на ответ в журнале, он читает:
"получил ответ: {" ошибка ": {" тип ":" OAuthException "," сообщение ":" (# 200) Ошибка разрешений"}}"
Я просмотрел документацию по GraphAPI и искал похожие вопросы, но безрезультатно!Я не уверен, нужно ли мне запрашивать дополнительные разрешения для приложения или это просто запрещено!Любая помощь / предложения будут с благодарностью.