url.addEncodedQueryItem("r", "o");
}
+ request.setRawHeader("Authorization", reader->getAuth());
request.setUrl(url);
reply = reader->getManager()->get(request);
connect(reply, SIGNAL(finished()), SLOT(fetchFinished()));
connect(&manager, SIGNAL(finished(QNetworkReply*)),
SLOT(downloadFinished(QNetworkReply*)));
- SID = NULL;
+ auth.clear();
updateSubscriptionsPending = false;
updateUnreadPending = false;
- SIDPending = false;
+ authPending = false;
login_url.setUrl("https://www.google.com/accounts/ClientLogin");
subscriptions_url.setUrl("http://www.google.com/reader/api/0/subscription/list?output=json");
if (reply->error()) {
qDebug() << "Download of" << url << "failed:" << qPrintable(reply->errorString());
if(url == login_url) {
- SIDPending = false;
+ authPending = false;
emit loginFailed("Incorrect username or password");
}
else if(url == edittag_url)
}
else if(url == login_url) {
QByteArray data = reply->readAll();
- data.remove(0, data.indexOf("SID=", 0) + 4);
+ data.remove(0, data.indexOf("Auth=", 0) + 5);
data.remove(data.indexOf("\n", 0), 1024);
- SID = strdup(data.data());
+ auth.clear();
+ auth.append("GoogleLogin auth=");
+ auth.append(data);
- qDebug() << "SID:" << SID;
+ qDebug() << "Auth:" << auth;
- manager.cookieJar()->setCookiesFromUrl(
- QList<QNetworkCookie>() << QNetworkCookie("SID", SID),
- QUrl("http://www.google.com"));
-
- SIDPending = false;
+ authPending = false;
getToken();
emit updateUnreadComplete();
}
-void GoogleReader::getSID() {
+void GoogleReader::clientLogin() {
- if(SIDPending)
+ if(authPending)
return;
- SIDPending = true;
+ authPending = true;
QNetworkRequest request;
request.setUrl(login_url);
void GoogleReader::getToken() {
QNetworkRequest request;
+ request.setRawHeader("Authorization", auth);
request.setUrl(token_url);
manager.get(request);
}
if(updateSubscriptionsPending)
return;
- if(!SID) {
+ if(auth == "") {
updateSubscriptionsPending = true;
- getSID();
+ clientLogin();
return;
}
+ request.setRawHeader("Authorization", auth);
request.setUrl(subscriptions_url);
manager.get(request);
}
if(updateUnreadPending)
return;
- if(!SID) {
+ if(auth == "") {
updateUnreadPending = true;
- getSID();
+ clientLogin();
return;
}
+ request.setRawHeader("Authorization", auth);
request.setUrl(unread_url);
manager.get(request);
}
/* Mark all the remaining items read */
QNetworkRequest request;
+ request.setRawHeader("Authorization", reader->getAuth());
request.setUrl(reader->markallread_url);
buffer.open(QBuffer::ReadWrite | QBuffer::Truncate);
return;
QNetworkRequest request;
+ request.setRawHeader("Authorization", feed->reader->getAuth());
request.setUrl(feed->reader->edittag_url);
postread.open(QBuffer::ReadWrite | QBuffer::Truncate);
return;
QNetworkRequest request;
+ request.setRawHeader("Authorization", feed->reader->getAuth());
request.setUrl(feed->reader->edittag_url);
poststar.open(QBuffer::ReadWrite | QBuffer::Truncate);
return;
QNetworkRequest request;
+ request.setRawHeader("Authorization", feed->reader->getAuth());
request.setUrl(feed->reader->edittag_url);
postshared.open(QBuffer::ReadWrite | QBuffer::Truncate);