2016-12-29 1 views
0

Je reçois le flux d'une page via l'API Facebook Graph. A la fin il y a un lien donné, afin de récupérer la page suivante de l'alimentation, comme indiqué ici (j'ai enlevé mon jeton d'accès):Facebook Graph API: Le lien "Next" pour "Paging" ne fonctionne pas

"paging": { 
     "previous": "https://graph.facebook.com/v2.8/14408401557/feed?fields=from,message,link,created_time,type,name,id,comments.limit\u0025280\u002529.summary\u002528true\u002529,shares,reactions.limit\u0025280\u002529.summary\u002528true\u002529&limit=100&since=1483025111&access_token=XXX|XXX&__paging_token=enc_AdABZBt6ZC7DctahZAsXG9wOUghwu8tMLYo1ZAlMdLcVCwa8VqVjBEsZABFiLRSVlA96xTQzKkrnd2ALIlGrGLhZALSum7&__previous=1", 
     "next": "https://graph.facebook.com/v2.8/14408401557/feed?fields=from,message,link,created_time,type,name,id,comments.limit\u0025280\u002529.summary\u002528true\u002529,shares,reactions.limit\u0025280\u002529.summary\u002528true\u002529&limit=100&access_token=XXX|XXX&__paging_token=enc_AdBOFdepWf3pcZBDLiV0r00WXJZA8qN7iYCZCzrwSoZCxYuKnHvXVUyCp35KCz4CW35p0gsmQV3Vzs5xKXe16QyCKMEN" 

Si je tente d'utiliser l'URL donnée, je reçois le erreur suivante:

"error": { 
     "message": "Syntax error \"Expected \")\", got end of string\" at character 171: from,message,link,created_time,type,name,id,comments.limit(u0025280\\u002529.summary\\u002528true\\u002529,shares,reactions.limit\\u0025280\\u002529.summary\\u002528true\\u002529", 
     "type": "OAuthException", 
     "code": 2500, 
     "fbtrace_id": "Dxf6QrEjBl6" 
    } 

Est-ce que quelqu'un sait pourquoi?

Répondre

1

Ils semblent être codés correctement en sortie de JSON. Mais je suppose que vous ne les décodez pas avant de l'utiliser. par exemple.

comments.limit \ u0025280 \ u002529.summary \ u002528true \ u002529

par exemple, si vous remplacez manuellement fonctionne

comments.limit% 280% 29.summary% 28true% 29

Voir cette réponse https://stackoverflow.com/a/3020108/1542667 pour une explication de JSON encodage des chaînes, \ u0025 est juste '%'

+1

C'est la bonne réponse, bien qu'elle ne soit pas marquée ainsi. OP essaie d'utiliser JSON brut, au lieu de le décoder en premier. –