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:
parent
9a2f836b1a
commit
5aa9fc6fe7
2 changed files with 21 additions and 1 deletions
|
@ -8,7 +8,10 @@
|
||||||
#include <QShortcut>
|
#include <QShortcut>
|
||||||
#include <QNetworkProxy>
|
#include <QNetworkProxy>
|
||||||
#include <QNetworkCookieJar>
|
#include <QNetworkCookieJar>
|
||||||
|
#include <QNetworkReply>
|
||||||
#include <QWebView>
|
#include <QWebView>
|
||||||
|
#include <QJsonDocument>
|
||||||
|
|
||||||
|
|
||||||
static QString facebookConnectUrl =
|
static QString facebookConnectUrl =
|
||||||
"https://www.facebook.com/dialog/oauth?"
|
"https://www.facebook.com/dialog/oauth?"
|
||||||
|
@ -76,11 +79,28 @@ void PreferencesDialog::facebookLoginResponse(const QUrl &url)
|
||||||
settings.beginGroup("WebApps");
|
settings.beginGroup("WebApps");
|
||||||
settings.beginGroup("Facebook");
|
settings.beginGroup("Facebook");
|
||||||
settings.setValue("ConnectToken", securityToken);
|
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.facebookWebView->setHtml("We need a better 'you re connected' page. but, YEY. ");
|
||||||
ui.btnDisconnectFacebook->show();
|
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()
|
void PreferencesDialog::facebookDisconnect()
|
||||||
{
|
{
|
||||||
QSettings settings;
|
QSettings settings;
|
||||||
|
|
|
@ -32,7 +32,7 @@ slots:
|
||||||
void on_btnUseDefaultFile_toggled(bool toggle);
|
void on_btnUseDefaultFile_toggled(bool toggle);
|
||||||
void facebookLoginResponse(const QUrl& url);
|
void facebookLoginResponse(const QUrl& url);
|
||||||
void facebookDisconnect();
|
void facebookDisconnect();
|
||||||
|
void facebookGetUserId(QNetworkReply *reply);
|
||||||
private:
|
private:
|
||||||
explicit PreferencesDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
|
explicit PreferencesDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
|
||||||
void setUiFromPrefs();
|
void setUiFromPrefs();
|
||||||
|
|
Loading…
Add table
Reference in a new issue