背景
我一直忙于一个个人项目来重新创建一些最初在云中运行的SQLAnywhere设置。(我在amazonwebservices(AWS)上有一个基于Linux的sqlanywhere服务器,它被AWS终止了。)在我最初的版本中,我使用sqlanywhere来读取saptwitter账户@SCNblogs,这个账户现在已经停用了。我曾使用SQLAnywhere计算基于哈希的消息身份验证码的能力来读取@SCNblogs twitter时间线。最终的结果是我的数据极客日志链接如下https://blogs.sap.com/2013/08/14/data-geek-challenge-analysis-the-scnblogs-twitter-timeline/
使用SQL Anywhere,我可以生成OAuth身份验证,但不是twitter接受的格式,我必须使用openssl在最后一步完成该过程。在我看来,这是因为twitterapi帮助页面中的文档不清楚。尽管我可以使用SQLAnywhere,通过xp\u cmdshell系统过程调用openssl命令来处理所需的二进制格式。在我最初的博客中,我感谢EricFarrar在这个链接上写了一篇关于SQLAnywhere哈希功能的博客
现在在这个网站上找不到404页面。让我想知道有多少我的老博客现在包含死链接https://blogs.sap.com/2009/12/10/computing-hash-based-message-authentication-codes-with-sql-anywhere/
另一方面,大数据产业,企业信息化应用,我以前曾使用"回程机"查找丢失的网页。我去过https://archive.org/web/输入原始网址,埃里克博客的原始网址保存在2013年的这个链接
https://web.archive.org/web/20130925161421/http://scn.sap.com/community/sybase网站-SQLAnywhere/blog/2009/12/10/使用SQLAnywhere计算基于哈希的消息验证码
返回我的博客主页内容现在,我将分为以下几个部分
我的Twitterbot代码设置
我不希望我的主要twitter帐户被用来发送自动tweet-在最坏的情况下,它可能会失控!我想使用一个新的专用帐户,并设置它在我的主帐户推特。我创建了一个名为https://twitter.com/sqlany\u rjruss很快意识到twitter对API的使用做了一些限制。
API设置需要一个电话号码,而我只有一个号码,这个号码被锁定在我的twitter主帐户上。所以我不得不寻找一个解决方法。最后,我按照这篇文章中的信息注册了我的bot账号@sqlany\urjruss,链接回我的主要twitter账号
根据道尔顿的博客链接,当我在一个名为.twurlrc的文件中列出我的4个令牌时,我有了一个支持写的应用程序。这意味着我可以继续设置我的Java代码来发送tweets.
使用Java项目Twitter4J
我只使用了项目中的核心Jar文件
下面是我使用的示例代码。我选择在我的代码中硬编码授权令牌。
示例代码
我已经测试了Java 7和8,将Java C作为我使用的JDK的一部分来编译代码。
我在Windows 10、Mac Yosemite和Sierra操作系统上测试了代码。
对于Windows 10,下面的命令成功地为我的Mac I发布了一条推文
发现我必须更改类路径才能发布tweets。
用法:
SQLAnywhere可以使用Java作为外部环境,下面是SQLAnywhere 17的帮助链接。我在设置结束时的一个发现是Java环境是否返回结果集。我的示例代码不返回任何内容,只写出。外部环境似乎为SQL Anywhere提供了强大的扩展可能性。我只需要学习更多的Java(或其他兼容的外部代码)来利用它。
#sqla170/en/html/8160578b6ce2101480bff9bdb43fee68.html
为了在排除故障时捕获错误,我发现在任何地方启动SQL并捕获日志文件都很有用。E、 g.
dbsrv17-zoc"C:\sql17logs\log"-o"C:\sql17logs\dblog"
当我使用完全相同的tweet进行测试时,触发了下面的一个示例错误。为了解决这个问题,我在我所有的tweet上加了一个时间戳,使它们独一无二!!
*****
. 403:这个请求是可以理解的,但是被拒绝了。附带的错误消息将解释原因。由于更新限制而拒绝请求时使用此代码(https://support.twitter.com/articles/15364-about-twitter-limits-update-api-dm-and-following).
信息–状态重复。
代码–187
相关讨论可在互联网上找到:
?q=2fc5b7cb或
?q=0ea287d2
TwitterException{exceptionCode=[2fc5b7cb-0ea287d2],statusCode=403,message=Status是重复的,code=187,retryAfter=-1,云服务器一年多少钱,rateLimitStatus=null,version=4.0.4}
******
我发现SQL Anywhere在Windows 10上的安装中有一个标准的JAVAVM。
选择db_属性('JAVAVM');
可以选择更改Java的位置
更改外部环境Java
位置'c:\\jdk1.8.0\\jre\\bin\\java.exe文件’;
我将Twitter4J的代码复制到一个专用目录中。
在SQL Central中进入Java外部环境导入我的类和Twitter4J jar文件。
我按照向导添加我的tweet.class类
按照向导导入核心twitter4jjar文件
然后我设置了一个过程来调用我的类不会返回结果(选项五)
然后我在我的windows实例上测试了从interactive SQL调用过程。
如前所述,为了证明这在其他系统上有效,我将我的Mac版SQL Anywhere设置为使用相同的Java代码发推文,如下所示。
现在,发推文的目的是什么?
阅读状态.IOSAP云平台的RSS订阅源
如Moya Watson的博客"透明警报:公共HCP状态页"中所述,现在就可以使用了!有一个SAPCP状态页面。