The Keystone pipeline issue is so good for Republicans and bad for Democrats that I'm convinced the President is tricking Republicans into negotiating with themselves. Here's my thinking:
The crazy left wants to stop all drilling. They are willing to sacrifice almost anything. They WANT higher oil prices to discourage consumption.
The President needs the green left in his re-election. But contrary to perception, he doesn't have to pander to them because the Republicans are so so bad on the environment that he can take the votes for granted. In addition, there is so much overlap on liberal issues that people who vote "green", are generally pro choice, against tax cuts for the rich, etc. But since people think that the President needs to pander, Obama is faking as though he's pandering to the extreme Green movement.
He has convinced the Republicans that he will take the political hit for blocking the Keystone pipeline plan to placate his base. By doing this, the Republicans have taken the bait, and made this a big issue. They think Obama is in a box between big labor and environmentalists.
Now the President can cut a deal to allow the pipeline in exchange for unemployment benefits, payroll tax cuts, and other things while giving up something he would have done on his own.
He gets the benefit of looking mainstream and bipartisan in his willingness to compromise.
There will be those disappointed on the left but they will vote Obama anyway, eventually.
President Obama is playing chess.