President Barack Obama's has taken charge in addressing the Gulf of Mexico oil spill, a senior Republican senator said Wednesday.

Sen. Chuck Grassley (R-Iowa) offered rare words of Republican praise for Obama on his handling of the response to the oil spill, though he said there's still plenty of room for criticism, too.

"Maybe he hasn't responded to the governor or Louisiana fast enough, not doing enough about cleanup. Maybe too late taking charge," Grassley said during a conference call with Iowa reporters. "But it looks to me like, based on his speech last night, his meeting with BP right now, that he's doing that."

The GOP has largely been hammering away at the president's handling of the spill, accusing him of being too slow in deploying resources to the Gulf, even through Wednesday.

Grassley said even though Obama hadn't been the quickest to respond or might have made "too sweeping" of a move with his six-month moratorium on new deepwater drilling, the president couldn't be reasonably expected to do more to end the spill.

"It isn't so much praise for the president. He shouldn't be blamed for a lot of things he can't do anything about," Grassley explained. "Whether you show enough emotion about it, I can't worry about that.

"I think the bottom line of it is that BP should be held accountable for everything in this disaster, and I think the president's holding them accountable," the Iowa Republican added.