[Building Sakai] problem in twitter integration with profile tool
Jehan Badshah
jehan.badshah at nu.edu.pk
Fri Sep 7 01:56:36 PDT 2012
Dear All
my problem solved but I can't post any thing to twitter, in the error log I
am getting message *Authentication credentials were missing or incorrect.*
2012-09-07 13:49:20,984 ERROR Profile2 TwitterUpdater thread
org.sakaiproject.profile2.logic.ProfileExternalIntegrationLogicImpl -
ProfileLogic.sendMessageToTwitter() failed. class
twitter4j.TwitterException: 401:Authentication credentials were missing or
incorrect.
{"error":"Read-only application cannot
POST","request":"\/1\/statuses\/update.json"}
2012-09-07 13:50:00,031 ERROR QuartzScheduler_Worker-3
org.quartz.core.JobRunShell - Job DEFAULT.Turnitin Queue threw an unhandled
Exception:
java.lang.NullPointerException
at
org.sakaiproject.component.app.scheduler.jobs.SpringStatefulJobBeanWrapper.execute(SpringStatefulJobBeanWrapper.java:20)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:534)
2012-09-07 13:50:00,031 ERROR QuartzScheduler_Worker-3
org.quartz.core.ErrorLogger - Job (DEFAULT.Turnitin Queue threw an
exception.
org.quartz.SchedulerException: Job threw an unhandled exception. [See
nested exception: java.lang.NullPointerException]
at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:534)
Caused by: java.lang.NullPointerException
at
org.sakaiproject.component.app.scheduler.jobs.SpringStatefulJobBeanWrapper.execute(SpringStatefulJobBeanWrapper.java:20)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
... 1 more
2012-09-07 13:50:42,625 INFO http-8080-5
org.sakaiproject.profile2.logic.ProfileStatusLogicImpl - Updated status for
user: jehan.badshah
INFO: 2012-09-07 13:50:42,625 Saved status for: jehan.badshah [http-8080-5]
2012-09-07 13:50:44,140 ERROR Profile2 TwitterUpdater thread
org.sakaiproject.profile2.logic.ProfileExternalIntegrationLogicImpl -
ProfileLogic.sendMessageToTwitter() failed. class
twitter4j.TwitterException: 401:Authentication credentials were missing or
incorrect.
{"error":"Read-only application cannot
POST","request":"\/1\/statuses\/update.json"}
2012-09-07 13:50:48,375 ERROR http-8080-6
org.sakaiproject.profile2.logic.ProfileExternalIntegrationLogicImpl - Error
retrieving Twitter credentials: class twitter4j.TwitterException: 400:The
request was invalid. An accompanying error message will explain why. This
is the status code will be returned during rate limiting.
2012-09-07 13:50:59,687 INFO Timer-1
org.sakaiproject.email.impl.BasicEmailService - Preparing to send the mail
digests for 20120906190000000]20120907190000000
2012-09-07 13:51:02,578 INFO http-8080-6
org.sakaiproject.profile2.logic.ProfileExternalIntegrationLogicImpl -
ExternalIntegrationInfo updated for user: jehan.badshah
2012-09-07 13:53:00,093 INFO http-8080-2
org.sakaiproject.profile2.logic.ProfileExternalIntegrationLogicImpl -
ExternalIntegrationInfo updated for user: jehan.badshah
2012-09-07 13:53:11,218 INFO http-8080-7
org.sakaiproject.profile2.logic.ProfileStatusLogicImpl - Updated status for
user: jehan.badshah
INFO: 2012-09-07 13:53:11,250 Saved status for: jehan.badshah [http-8080-7]
2012-09-07 13:53:12,953 ERROR Profile2 TwitterUpdater thread
org.sakaiproject.profile2.logic.ProfileExternalIntegrationLogicImpl -
ProfileLogic.sendMessageToTwitter() failed. class
twitter4j.TwitterException: 401:Authentication credentials were missing or
incorrect.
{"error":"Read-only application cannot
POST","request":"\/1\/statuses\/update.json"}
2012-09-07 13:53:17,984 ERROR http-8080-2
org.sakaiproject.profile2.logic.ProfileExternalIntegrationLogicImpl - Error
retrieving Twitter credentials: class twitter4j.TwitterException: 400:The
request was invalid. An accompanying error message will explain why. This
is the status code will be returned during rate limiting.
On Fri, Sep 7, 2012 at 1:04 PM, Jehan Badshah <jehan.badshah at nu.edu.pk>wrote:
> Dear All
>
> When I access following link in profile
> *my workpace -> Profile -> Prefrences *(for more detail see attachment)
>
>
> I have added following properties in sakai.properties
>
> # Profile2 - start
> # Convert images from old profile to new?
> profile2.convert = true
>
> # Allow users to change their profile picture?
> profile2.picture.change.enabled = true
> profile2.picture.change.maintain.enabled = false
> profile2.picture.change.access.enabled = false
>
> # Allow users to post status updates to Twitter? (true/false, default true)
> profile2.integration.twitter.enabled = true
> # Optional: if registered a Twitter application and want to use that instead of Profile2:
> # IMPORTANT: see http://jira.sakaiproject.org/browse/PRFL-94
> #profile2.twitter.oauth.key=
> #profile2.twitter.oauth.secret=
>
> # List of userIds that will never show in searches or friends lists (comma separated no spaces, default=postmaster)
> profile2.invisible.users = postmaster
>
> # Tell the ProfileManager to get it's data from Profile2
> profile.manager.integration.bean=org.sakaiproject.profile2.legacy.ProfileManager# Profile2 - end
>
> *
> *
> *
> *
> *
> *
> but getting following bug report
>
>
>
>
> bug-id: c487d559-2895-4314-b54e-a80e23edab03
> user: jehan.badshah (Jehan Badshah)
> email: jehanbadshah at hotmail.com
> usage-session: 2a2e903d-ee79-474f-a02c-a0dab268fb85
> stack-trace-digest: 7A50C332D76DC2E92DBF898D9FEB2A53D8A99B91
> sakai-version: 2.8.2
> service-version: RELEASE
> app-server: sts122
> user-agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like
> Gecko) Chrome/21.0.1180.89 Safari/537.1
> browser-id: Win-Mozilla
> IP:
> request-path: /portal/tool/5c2dcb87-cf28-4937-a00f-b0c3ca929e2c/
> time: Sep 7, 2012 12:18:59
>
>
> stack trace:
>
> org.sakaiproject.portal.api.PortalHandlerException: org.apache.wicket.WicketRuntimeException:
> No get method defined for class: class org.sakaiproject.profile2.model.ProfilePreferences
> expression: twitterAuthLink
> at org.sakaiproject.portal.charon.SkinnableCharonPortal.
> doGet(SkinnableCharonPortal.java:862)
> caused by: org.apache.wicket.WicketRuntimeException: No get method
> defined for class: class org.sakaiproject.profile2.model.ProfilePreferences
> expression: twitterAuthLink
> at org.apache.wicket.util.lang.PropertyResolver.getGetAndSetter(
> PropertyResolver.java:488)
> at org.apache.wicket.util.lang.PropertyResolver.getObjectAndGetSetter(
> PropertyResolver.java:330)
> at org.apache.wicket.util.lang.PropertyResolver.getObjectAndGetSetter(
> PropertyResolver.java:237)
> at org.apache.wicket.util.lang.PropertyResolver.getValue(
> PropertyResolver.java:91)
> at org.apache.wicket.model.AbstractPropertyModel.getObject(
> AbstractPropertyModel.java:118)
> at org.apache.wicket.Component.getDefaultModelObject(
> Component.java:1720)
> at org.apache.wicket.markup.html.link.ExternalLink.
> onComponentTag(ExternalLink.java:153)
> at org.apache.wicket.Component.renderComponent(Component.java:2657)
> at org.apache.wicket.MarkupContainer.onRender(
> MarkupContainer.java:1538)
> at org.apache.wicket.Component.render(Component.java:2517)
> at org.apache.wicket.MarkupContainer.renderNext(
> MarkupContainer.java:1440)
> at org.apache.wicket.MarkupContainer.renderComponentTagBody(
> MarkupContainer.java:1603)
> at org.apache.wicket.MarkupContainer.onComponentTagBody(
> MarkupContainer.java:1527)
> at org.apache.wicket.markup.html.panel.Fragment.renderFragment(
> Fragment.java:284)
> at org.apache.wicket.markup.html.panel.Fragment.
> onComponentTagBody(Fragment.java:212)
> at org.apache.wicket.Component.renderComponent(Component.java:2686)
> at org.apache.wicket.MarkupContainer.onRender(
> MarkupContainer.java:1538)
> at org.apache.wicket.Component.render(Component.java:2517)
> at org.apache.wicket.MarkupContainer.renderNext(
> MarkupContainer.java:1440)
> at org.apache.wicket.MarkupContainer.renderComponentTagBody(
> MarkupContainer.java:1603)
> at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(
> MarkupContainer.java:696)
> at org.apache.wicket.markup.html.panel.Panel.
> onComponentTagBody(Panel.java:114)
> at org.apache.wicket.Component.renderComponent(Component.java:2686)
> at org.apache.wicket.MarkupContainer.onRender(
> MarkupContainer.java:1538)
> at org.apache.wicket.Component.render(Component.java:2517)
> at org.apache.wicket.MarkupContainer.renderNext(
> MarkupContainer.java:1440)
> at org.apache.wicket.MarkupContainer.renderComponentTagBody(
> MarkupContainer.java:1603)
> at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(
> MarkupContainer.java:696)
> at org.apache.wicket.markup.html.panel.Panel.
> onComponentTagBody(Panel.java:114)
> at org.apache.wicket.Component.renderComponent(Component.java:2686)
> at org.apache.wicket.MarkupContainer.onRender(
> MarkupContainer.java:1538)
> at org.apache.wicket.Component.render(Component.java:2517)
> at org.apache.wicket.Component.renderComponent(Component.java:2627)
> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(
> AjaxRequestTarget.java:853)
> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(
> AjaxRequestTarget.java:682)
> at org.apache.wicket.ajax.AjaxRequestTarget.respond(
> AjaxRequestTarget.java:592)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(
> AbstractRequestCycleProcessor.java:105)
> at org.apache.wicket.RequestCycle.processEventsAndRespond(
> RequestCycle.java:1258)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(
> WicketFilter.java:484)
> at org.apache.wicket.protocol.http.WicketServlet.doGet(
> WicketServlet.java:138)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:188)
> at org.sakaiproject.util.RequestFilter.doFilter(
> RequestFilter.java:598)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:188)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(
> ApplicationDispatcher.java:659)
> at org.apache.catalina.core.ApplicationDispatcher.processRequest(
> ApplicationDispatcher.java:457)
> at org.apache.catalina.core.ApplicationDispatcher.doForward(
> ApplicationDispatcher.java:359)
> at org.apache.catalina.core.ApplicationDispatcher.forward(
> ApplicationDispatcher.java:311)
> at org.sakaiproject.tool.impl.ActiveToolComponent$
> MyActiveTool.forward(ActiveToolComponent.java:511)
> at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(
> SkinnableCharonPortal.java:1429)
> at org.sakaiproject.portal.charon.handlers.ToolHandler.
> doTool(ToolHandler.java:204)
> at org.sakaiproject.portal.charon.handlers.ToolHandler.
> doGet(ToolHandler.java:96)
> at org.sakaiproject.portal.charon.SkinnableCharonPortal.
> doGet(SkinnableCharonPortal.java:862)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:188)
> at org.sakaiproject.util.RequestFilter.doFilter(
> RequestFilter.java:659)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:213)
> at org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:172)
> at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:174)
> at org.apache.coyote.ajp.AjpAprProcessor.process(
> AjpAprProcessor.java:444)
> at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(
> AjpAprProtocol.java:472)
> at org.apache.tomcat.util.net.AprEndpoint$Worker.run(
> AprEndpoint.java:1293)
> at java.lang.Thread.run(Thread.java:619)
>
>
> Tool Placement:
> No Placement
>
>
> Request:
> : AuthType:null
> : CharEncoding:UTF-8
> : ContentLength:-1
> : ContentType:null
> : ContextPath:/portal
> : LocalAddress:slateisb.nu.edu.pk
> : LocalName:slateisb.nu.edu.pk
> : LocalPort:80
> : Method:GET
> : PathInfo:/tool/5c2dcb87-cf28-4937-a00f-b0c3ca929e2c/
> : Protocol:HTTP/1.0
> : QueryString:wicket:interface=:6:form:twitterPanel::
> IBehaviorListener:0:&random=0.43314617965370417
> : RemoteAddress:111.68.106.73
> : RemoteHost:111.68.106.73
> : RemotePort:42623
> : Requested URL:
> http://slateisb.nu.edu.pk/portal/tool/5c2dcb87-cf28-4937-a00f-b0c3ca929e2c/
> : Scheme:http
> : ServerName:slateisb.nu.edu.pk
> : Headers:
> : Header:host:slateisb.nu.edu.pk
> : Header:Wicket-Ajax:true
> : Header:user-agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1
> (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1
> : Header:accept:text/xml
> : Header:referer:
> http://slateisb.nu.edu.pk/portal/tool/5c2dcb87-cf28-4937-a00f-b0c3ca929e2c/?wicket:interface=:6::
> ::
> : Header:accept-encoding:gzip,deflate,sdch
> : Header:accept-language:en-US,en;q=0.8
> : Header:accept-charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
> : Header:cookie:---censored---
> : Header:Via:1.1 IT-Department:8080 (squid/2.6.STABLE21)
> : Header:X-Forwarded-For:172.16.13.149
> : Header:Cache-Control:max-age=259200
> : Header:connection:keep-alive
> : Parameters:
> : Parameter:random:0:0.43314617965370417
> : Parameter:wicket:interface:0::6:form:twitterPanel::
> IBehaviorListener:0:
> : Attributes:
> : Attribute:sakai.html.head.css.skin:<link
> href="/library/skin/default/tool.css" type="text/css" rel="stylesheet"
> media="all" />
>
> : Attribute:sakai.html.head.js:<script type="text/javascript"
> language="JavaScript" src="/library/js/headscripts.js"></script>
> <script type="text/javascript" language="JavaScript">var sakai = sakai ||
> {}; sakai.editor = sakai.editor || {};
> sakai.editor.collectionId = '/user/jehan.badshah/';
> sakai.editor.enableResourceSearch = false;</script>
> <script type="text/javascript" language="JavaScript"></script>
> <script type="text/javascript" language="JavaScript" src="/library/editor/
> FCKeditor/fckeditor.js"></script>
> <script type="text/javascript" language="JavaScript" src="/library/editor/
> fckeditor.launch.js"></script>
>
> : Attribute:sakai.character.encoding.done:sakai.character.
> encoding.done
> : Attribute:tool.url.manager:org.sakaiproject.portal.util.
> ToolURLManagerImpl at ed7e8f
> : Attribute:sakai.html.body.onload:setMainFrameHeight('
> Main5c2dcb87xcf28x4937xa00fxb0c3ca929e2c');setFocus(focus_path);
> : Attribute:sakai.html.head:<link href="/library/skin/tool_base.css"
> type="text/css" rel="stylesheet" media="all" />
> <link href="/library/skin/default/tool.css" type="text/css"
> rel="stylesheet" media="all" />
> <script type="text/javascript" language="JavaScript"
> src="/library/js/headscripts.js"></script>
> <script type="text/javascript" language="JavaScript">var sakai = sakai ||
> {}; sakai.editor = sakai.editor || {};
> sakai.editor.collectionId = '/user/jehan.badshah/';
> sakai.editor.enableResourceSearch = false;</script>
> <script type="text/javascript" language="JavaScript"></script>
> <script type="text/javascript" language="JavaScript" src="/library/editor/
> FCKeditor/fckeditor.js"></script>
> <script type="text/javascript" language="JavaScript" src="/library/editor/
> fckeditor.launch.js"></script>
>
> : Attribute:sakai.filtered:sakai.filtered
> : Attribute:sakai.html.head.css.base:<link
> href="/library/skin/tool_base.css" type="text/css" rel="stylesheet"
> media="all" />
>
> : Attribute:sakai.html.head.css:<link
> href="/library/skin/tool_base.css" type="text/css" rel="stylesheet"
> media="all" />
> <link href="/library/skin/default/tool.css" type="text/css"
> rel="stylesheet" media="all" />
>
> : Attribute:sakai.session:org.sakaiproject.tool.impl.
> MySession at 542715a5
> Session:
> : Created:1347002225281
> : LastAccess:1347002339640
> : MaxInactive:3600
> : Attributes:
> : Attribute:portalskin:defaultskin
>
>
>
--
Regards
----------------------------------------------------
Jehan Badshah | Sr. Software Engineer & Team Lead
Sakai Learning and Teaching Environment (SLATE)
National University of Computer and Emerging Sciences
A.K. Brohi Road, H-11/4, Islamabad
UAN: +92 (0)51 - 111 128 128 ext 344
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20120907/038d1c69/attachment.html
More information about the sakai-dev
mailing list