как я могу удалить тестового пользователя Facebook с 2 приложениями с помощью Graph API

#facebook #facebook-graph-api

#Facebook #facebook-graph-api

Вопрос:

Когда я пытаюсь удалить пользователя, как указано в документах (http://developers.facebook.com/docs/test_users/#deleting ) я получаю ответ об ошибке :

 (#2903) Cannot delete this test account because it is associated with other applications. Use DELETE app_id/accounts/test-users/test_account_id to remove it from other apps first. Use GET test_user_id/ownerapps to get complete list of owner apps.
 

затем, когда я пытаюсь сделать то, что он говорит (замена <user_id> и <app_id> с числовым идентификатором facebook) :

 DELETE <app_id>/accounts/test-users/<user_id> to remove it from other apps first
 

я получаю эту ошибку :

 Unknown path components: /<user_id>
 

я что-то упустил?

Комментарии:

1. я также создал ошибку с facebook.com здесь developers.facebook.com/bugs/194903963919864

Ответ №1:

Как указано в ошибке, вы не можете удалить пользователя, потому что он был назначен двум или более приложениям.

Обходным путем для этого является получение всех приложений, которые используют этого конкретного пользователя, с помощью этого вызова

«https://graph.facebook.com/TEST_ACCOUNT_ID/ownerappsamp;access_token=YOUR_APP_ACCESS_TOKEN »

Это даст вам список приложений, к которым привязана тестовая учетная запись, до декодирования объекта с помощью сериализатора JSON. Затем вы можете удалять и не удалять тестовую учетную запись из каждого приложения, пока не останется только одна, использующая :

«https://graph.facebook.com/APP_ID/accounts/test-users?uid=TEST_ACCOUNT_IDamp;access_token=APPLICATION_ACCESS_TOKENamp;method=delete»

Когда останется только одно приложение, вы можете удалить тестовую учетную запись с помощью :

«https://graph.facebook.com/TEST_ACCOUNT_ID?method=deleteamp;access_token=TEST_ACCOUNT_ACCESS_TOKEN »

Надеюсь, это поможет!

Комментарии:

1. у меня еще не было изменений, чтобы попробовать это, но вы говорите, что ключ к избежанию ответа об ошибке — не использовать ссылку «удалить» https://graph.facebook.com/APP_ID/accounts/test-users/TEST_ACCOUNT_ID ... , а использовать форму предоставленной вами ссылки https://graph.facebook.com/APP_ID/accounts/test-users?uid=TEST_ACCOUNT_ID ... ? Ключевое отличие заключается в том, как вы проходите через TEST_ACCOUNT_ID

2. Я пытался сказать, что вам нужно удалить тестовую учетную запись из всех приложений, с которыми он связан, после чего вы можете удалить ее.

3. ах, это корень моей проблемы. я не могу «удалить» пользователя из приложения, используя URL, на который отвечает конечная точка «удалить» : https://graph.facebook.com/APP_ID/accounts/test-users/TEST_USER_IDamp;access_token=YOUR_APP_ACCESS_TOKEN . И я заметил в вашем ответе, что «удалить» следует вызывать следующим образом : https://graph.facebook.com/APP_ID/accounts/test-users?uid=TEST_USER_IDamp;access_token=YOUR_APP_ACCESS_TOKEN . ключ в том, как передается TEST_USER_ID