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({
|
||||
"response_type":"code",
|
||||
"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"
|
||||
})
|
||||
|
||||
@ -30,7 +30,7 @@ class LinkedInSettings(Document):
|
||||
"code": code,
|
||||
"client_id": self.consumer_key,
|
||||
"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 = {
|
||||
"Content-Type": "application/x-www-form-urlencoded"
|
||||
|
@ -11,8 +11,8 @@
|
||||
"consumer_key",
|
||||
"column_break_5",
|
||||
"consumer_secret",
|
||||
"oauth_token",
|
||||
"oauth_secret",
|
||||
"access_token",
|
||||
"access_token_secret",
|
||||
"session_status"
|
||||
],
|
||||
"fields": [
|
||||
@ -41,20 +41,6 @@
|
||||
"label": "API Secret Key",
|
||||
"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",
|
||||
"fieldtype": "Column Break"
|
||||
@ -72,12 +58,26 @@
|
||||
"label": "Session Status",
|
||||
"options": "Expired\nActive",
|
||||
"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",
|
||||
"issingle": 1,
|
||||
"links": [],
|
||||
"modified": "2020-04-21 22:06:43.726798",
|
||||
"modified": "2020-05-13 17:50:47.934776",
|
||||
"modified_by": "Administrator",
|
||||
"module": "CRM",
|
||||
"name": "Twitter Settings",
|
||||
|
@ -31,13 +31,13 @@ class TwitterSettings(Document):
|
||||
|
||||
try:
|
||||
auth.get_access_token(oauth_verifier)
|
||||
api = self.get_api()
|
||||
api = self.get_api(auth.access_token, auth.access_token_secret)
|
||||
user = api.me()
|
||||
profile_pic = (user._json["profile_image_url"]).replace("_normal","")
|
||||
|
||||
frappe.db.set_value(self.doctype, self.name, {
|
||||
"oauth_token" : auth.access_token,
|
||||
"oauth_secret" : auth.access_token_secret,
|
||||
"access_token" : auth.access_token,
|
||||
"access_token_secret" : auth.access_token_secret,
|
||||
"account_name" : user._json["screen_name"],
|
||||
"profile_pic" : profile_pic,
|
||||
"session_status" : "Active"
|
||||
@ -49,11 +49,11 @@ class TwitterSettings(Document):
|
||||
frappe.msgprint(_("Error! Failed to get access token."))
|
||||
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
|
||||
auth = tweepy.OAuthHandler(self.consumer_key, self.get_password(fieldname="consumer_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)
|
||||
|
||||
@ -67,13 +67,13 @@ class TwitterSettings(Document):
|
||||
|
||||
def upload_image(self, 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)
|
||||
|
||||
return media.media_id
|
||||
|
||||
def send_tweet(self, text, media_id=None):
|
||||
api = self.get_api()
|
||||
api = self.get_api(self.access_token, self.access_token_secret)
|
||||
try:
|
||||
if media_id:
|
||||
response = api.update_status(status = text, media_ids = [media_id])
|
||||
|
Loading…
x
Reference in New Issue
Block a user