中进士，初任蒲州（今山西省境内）司法参军。景云二年（711年），中书令姚崇荐为御史。开元年间升任给事中，中书舍人，为玄宗撰写诏书。开元十二年（724年）出任汴州（今开封县）刺史，“请开汴河下流，自虹县至淮阴北合于淮”；以有政声，升为右丞。后因谏事贬为高州良德（今广东高州东北）丞。累迁至常州刺史。开元二十五年（737年），任润州刺史，兼江东道采访处置使。开元末年，因行贿被李林甫劾奏罢官。天宝初年，重新被起用，任员外少詹事。天宝五年（746年）任平阳郡太守，死于任所。肃宗时，赐礼部尚书。