唐京兆万年(今陕西西安)人。景龙进士。开元五年(717)为栎阳尉,累这工部侍郎。安禄山叛军陷长安时曾受职,乱平后流放渝州,为剌史薛舒所辱,不食而死。博览群书,曾任史官二十年,著有《开元谱》、《唐职仪》、《高宗实录》等,皆已散佚。