Avevo un disperato bisogno della stessa funzionalità due anni fa. Ancora non ho scoperto come farlo (più) correttamente. Questo è il mio trucco:
def get_topic_post(topic_id, post_num)
topic = @api.topic(topic_id, {print: true})
post_obj = topic['post_stream']['posts'].find { |p| p['post_number'] == post_num }
if post_obj
post_obj['id']
else
throw "Could not find post #{topic_id}/#{post_num}."
end
end
Questo aggira i problemi menzionati: {print: true} risolve il problema della paginazione. find è necessario perché la moderazione può creare una discrepanza tra gli indici dell’array e i numeri dei post.
Funziona per argomenti delle dimensioni con cui sto lavorando. Tuttavia, un metodo più diretto tramite l’API sarebbe più soddisfacente.