1
0
Fork 0
mirror of https://github.com/subsurface/subsurface.git synced 2025-02-19 22:16:15 +00:00

Get and save the UserID for use with Facebook.

Next: Publish something with the Graph API.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2014-12-23 20:56:51 -02:00 committed by Dirk Hohndel
parent 9a2f836b1a
commit 5aa9fc6fe7
2 changed files with 21 additions and 1 deletions

View file

@ -8,7 +8,10 @@
#include <QShortcut>
#include <QNetworkProxy>
#include <QNetworkCookieJar>
#include <QNetworkReply>
#include <QWebView>
#include <QJsonDocument>
static QString facebookConnectUrl =
"https://www.facebook.com/dialog/oauth?"
@ -76,11 +79,28 @@ void PreferencesDialog::facebookLoginResponse(const QUrl &url)
settings.beginGroup("WebApps");
settings.beginGroup("Facebook");
settings.setValue("ConnectToken", securityToken);
QNetworkAccessManager *getUserID = new QNetworkAccessManager();
connect(getUserID, &QNetworkAccessManager::finished, this, &PreferencesDialog::facebookGetUserId);
getUserID->get(QNetworkRequest(QUrl("https://graph.facebook.com/me?fields=id&access_token=" + securityToken)));
ui.facebookWebView->setHtml("We need a better 'you re connected' page. but, YEY. ");
ui.btnDisconnectFacebook->show();
}
}
void PreferencesDialog::facebookGetUserId(QNetworkReply *reply)
{
QJsonDocument jsonDoc = QJsonDocument::fromJson(reply->readAll());
QJsonObject obj = jsonDoc.object();
if (obj.keys().contains("id")){
QSettings s;
s.beginGroup("WebApps");
s.beginGroup("Facebook");
s.setValue("UserId", obj.value("id").toVariant());
}
}
void PreferencesDialog::facebookDisconnect()
{
QSettings settings;

View file

@ -32,7 +32,7 @@ slots:
void on_btnUseDefaultFile_toggled(bool toggle);
void facebookLoginResponse(const QUrl& url);
void facebookDisconnect();
void facebookGetUserId(QNetworkReply *reply);
private:
explicit PreferencesDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
void setUiFromPrefs();