Merge pull request #21715 from anupamvs/sm-fix
fix: Twitter and LinkedIn Auth fix
This commit is contained in:
commit
abcd40c75f
@ -15,7 +15,7 @@ class LinkedInSettings(Document):
|
|||||||
params = urlencode({
|
params = urlencode({
|
||||||
"response_type":"code",
|
"response_type":"code",
|
||||||
"client_id": self.consumer_key,
|
"client_id": self.consumer_key,
|
||||||
"redirect_uri": get_site_url(frappe.local.site) + "/api/method/erpnext.crm.doctype.linkedin_settings.linkedin_settings.callback?",
|
"redirect_uri": "{0}/api/method/erpnext.crm.doctype.linkedin_settings.linkedin_settings.callback?".format(frappe.utils.get_url()),
|
||||||
"scope": "r_emailaddress w_organization_social r_basicprofile r_liteprofile r_organization_social rw_organization_admin w_member_social"
|
"scope": "r_emailaddress w_organization_social r_basicprofile r_liteprofile r_organization_social rw_organization_admin w_member_social"
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ class LinkedInSettings(Document):
|
|||||||
"code": code,
|
"code": code,
|
||||||
"client_id": self.consumer_key,
|
"client_id": self.consumer_key,
|
||||||
"client_secret": self.get_password(fieldname="consumer_secret"),
|
"client_secret": self.get_password(fieldname="consumer_secret"),
|
||||||
"redirect_uri": get_site_url(frappe.local.site) + "/api/method/erpnext.crm.doctype.linkedin_settings.linkedin_settings.callback?",
|
"redirect_uri": "{0}/api/method/erpnext.crm.doctype.linkedin_settings.linkedin_settings.callback?".format(frappe.utils.get_url()),
|
||||||
}
|
}
|
||||||
headers = {
|
headers = {
|
||||||
"Content-Type": "application/x-www-form-urlencoded"
|
"Content-Type": "application/x-www-form-urlencoded"
|
||||||
|
@ -11,8 +11,8 @@
|
|||||||
"consumer_key",
|
"consumer_key",
|
||||||
"column_break_5",
|
"column_break_5",
|
||||||
"consumer_secret",
|
"consumer_secret",
|
||||||
"oauth_token",
|
"access_token",
|
||||||
"oauth_secret",
|
"access_token_secret",
|
||||||
"session_status"
|
"session_status"
|
||||||
],
|
],
|
||||||
"fields": [
|
"fields": [
|
||||||
@ -41,20 +41,6 @@
|
|||||||
"label": "API Secret Key",
|
"label": "API Secret Key",
|
||||||
"reqd": 1
|
"reqd": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"fieldname": "oauth_token",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"hidden": 1,
|
|
||||||
"label": "OAuth Token",
|
|
||||||
"read_only": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldname": "oauth_secret",
|
|
||||||
"fieldtype": "Password",
|
|
||||||
"hidden": 1,
|
|
||||||
"label": "OAuth Token Secret",
|
|
||||||
"read_only": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"fieldname": "column_break_5",
|
"fieldname": "column_break_5",
|
||||||
"fieldtype": "Column Break"
|
"fieldtype": "Column Break"
|
||||||
@ -72,12 +58,26 @@
|
|||||||
"label": "Session Status",
|
"label": "Session Status",
|
||||||
"options": "Expired\nActive",
|
"options": "Expired\nActive",
|
||||||
"read_only": 1
|
"read_only": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "access_token",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"hidden": 1,
|
||||||
|
"label": "Access Token",
|
||||||
|
"read_only": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "access_token_secret",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"hidden": 1,
|
||||||
|
"label": "Access Token Secret",
|
||||||
|
"read_only": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"image_field": "profile_pic",
|
"image_field": "profile_pic",
|
||||||
"issingle": 1,
|
"issingle": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2020-04-21 22:06:43.726798",
|
"modified": "2020-05-13 17:50:47.934776",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "CRM",
|
"module": "CRM",
|
||||||
"name": "Twitter Settings",
|
"name": "Twitter Settings",
|
||||||
|
@ -31,13 +31,13 @@ class TwitterSettings(Document):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
auth.get_access_token(oauth_verifier)
|
auth.get_access_token(oauth_verifier)
|
||||||
api = self.get_api()
|
api = self.get_api(auth.access_token, auth.access_token_secret)
|
||||||
user = api.me()
|
user = api.me()
|
||||||
profile_pic = (user._json["profile_image_url"]).replace("_normal","")
|
profile_pic = (user._json["profile_image_url"]).replace("_normal","")
|
||||||
|
|
||||||
frappe.db.set_value(self.doctype, self.name, {
|
frappe.db.set_value(self.doctype, self.name, {
|
||||||
"oauth_token" : auth.access_token,
|
"access_token" : auth.access_token,
|
||||||
"oauth_secret" : auth.access_token_secret,
|
"access_token_secret" : auth.access_token_secret,
|
||||||
"account_name" : user._json["screen_name"],
|
"account_name" : user._json["screen_name"],
|
||||||
"profile_pic" : profile_pic,
|
"profile_pic" : profile_pic,
|
||||||
"session_status" : "Active"
|
"session_status" : "Active"
|
||||||
@ -49,11 +49,11 @@ class TwitterSettings(Document):
|
|||||||
frappe.msgprint(_("Error! Failed to get access token."))
|
frappe.msgprint(_("Error! Failed to get access token."))
|
||||||
frappe.throw(_('Invalid Consumer Key or Consumer Secret Key'))
|
frappe.throw(_('Invalid Consumer Key or Consumer Secret Key'))
|
||||||
|
|
||||||
def get_api(self):
|
def get_api(self, access_token, access_token_secret):
|
||||||
# authentication of consumer key and secret
|
# authentication of consumer key and secret
|
||||||
auth = tweepy.OAuthHandler(self.consumer_key, self.get_password(fieldname="consumer_secret"))
|
auth = tweepy.OAuthHandler(self.consumer_key, self.get_password(fieldname="consumer_secret"))
|
||||||
# authentication of access token and secret
|
# authentication of access token and secret
|
||||||
auth.set_access_token(self.oauth_token, self.get_password(fieldname="oauth_secret"))
|
auth.set_access_token(access_token, access_token_secret)
|
||||||
|
|
||||||
return tweepy.API(auth)
|
return tweepy.API(auth)
|
||||||
|
|
||||||
@ -67,13 +67,13 @@ class TwitterSettings(Document):
|
|||||||
|
|
||||||
def upload_image(self, media):
|
def upload_image(self, media):
|
||||||
media = get_file_path(media)
|
media = get_file_path(media)
|
||||||
api = self.get_api()
|
api = self.get_api(self.access_token, self.access_token_secret)
|
||||||
media = api.media_upload(media)
|
media = api.media_upload(media)
|
||||||
|
|
||||||
return media.media_id
|
return media.media_id
|
||||||
|
|
||||||
def send_tweet(self, text, media_id=None):
|
def send_tweet(self, text, media_id=None):
|
||||||
api = self.get_api()
|
api = self.get_api(self.access_token, self.access_token_secret)
|
||||||
try:
|
try:
|
||||||
if media_id:
|
if media_id:
|
||||||
response = api.update_status(status = text, media_ids = [media_id])
|
response = api.update_status(status = text, media_ids = [media_id])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user