Public officials spend 30-70% of their time raising large sums of money from the same groups impacted by their vote. You can blame them, but the blame really should be focused on our system of funding elections. It takes money to win, and candidates want to win, so they raise money.
The supreme court ruled money is speech, so we should not aim to address the issue of money in politics by denying people the right to spend money "or speak". The way we address the issue is to go in the opposite direction. We give every taxpayer the opportunity to have their voice heard by providing them a $50 voucher for use in support of candidates or parties of their choosing. This will help put the focus back on all American taxpayers.