我有一个网站,每次我们的一个客户评论一个新产品,它会自动发送到公司的Twitter帐户.
对于实际的推文,我直接使用twitter api,没有任何包装类和库.它的工作正常,但是,当帖子太冗长时,它不会被推特,因为twitter只有140个字符限制(我的宝贝侄子可以处理更多的字符!)
那么缩短网址如bit.ly或tinyurl的最佳方法是什么?他们提供了一些api的.net用户吗?或者Twitter有一些网址缩短服务?
我本可以做一些关于它的事情,但我真正想要的是专家意见,在这样的情况下做什么是最好的事情.
ps:这里有几个密切相关的问题,但没有什么比我的情况更接近了.
有多少URL可以支持?当前填满的速度是多少?我可以看到它使用小字母和大字母和数字创建了唯一的URL.这使得它的容量为(26*2 + 10)^ 5,这个估计是正确的.
URL缩短服务如何获得?他们是否在一段时间内获得资金,然后提出算法,然后提出类别特定的趋势热门URL或什么?对此有何见解?
我正在尝试创建一个 php 函数,它将检查传递的 URL 是否是一个短 URL。像这样的东西:
/**
* Check if a URL is a short URL
*
* @param string $url
* return bool
*/
function _is_short_url($url){
// Code goes here
}
Run Code Online (Sandbox Code Playgroud)
我知道更简单且可靠的方法是检查 301 重定向,但此功能旨在保存仅用于检查的外部请求。该函数也不应该检查 URL 短列表,因为这将是一种可扩展性较差的方法。
所以我在想一些可能的检查:
关于可能的方法或更详尽的清单有什么想法吗?
编辑:此功能只是尝试保存外部请求,因此可以为非短网址(但真正的短网址)返回 true。通过此功能后,我无论如何都会通过检查 301 重定向来扩展所有短 URL。这只是为了消除明显的。
我有以下代码,这应该是使用google api javascript客户端的简单示例,并且只显示硬编码缩短URL的长格式URL:
<script>
function appendResults(text) {
var results = document.getElementById('results');
results.appendChild(document.createElement('P'));
results.appendChild(document.createTextNode(text));
}
function makeRequest() {
console.log('Inside makeRequest');
var request = gapi.client.urlshortener.url.get({
'shortUrl': 'http://goo.gl/fbsS'
});
request.execute(function(response) {
appendResults(response.longUrl);
});
}
function load() {
gapi.client.setApiKey('API_KEY');
console.log('After attempting to set API key');
gapi.client.load('urlshortener', 'v1', makeRequest);
console.log('After attempting to load urlshortener');
}
</script>
<script src="https://apis.google.com/js/client.js?onload=load"></script>
Run Code Online (Sandbox Code Playgroud)
除了使用实际的API密钥而不是文本"API_KEY".
控制台输出简单:
尝试设置API密钥后
尝试加载urlshortener后
但我从来没有看到'inside makeRequest',它位于makeRequest函数内部,这是调用gapi.client.load的回调函数,让我相信函数无法正常工作(或者无法完成).
任何人都可以阐明为什么会这样,以及如何解决它?
提前致谢.
javascript google-api url-shortener google-url-shortener google-api-client
我正在为大学做一个项目,那就是构建一个 URL 缩短器。我研究了不同类型的 NoSQL 数据库,但我不知道哪种更适合我的目的以及原因。
我可以在键/值数据库、面向文档、面向列或图形之间进行选择。我确信该图不利于我的目标。
请问您有什么建议吗?
key-value column-oriented nosql url-shortener document-oriented
我正在尝试找到任何可以帮助我缩短网址的JavaScript代码(也可以将其解码).我无法使用任何现有服务,因为我正在开发一个不允许外部连接的电子邮件软件.
我将非常感谢你的帮助.
非常感谢.
AAC
嗨,我正在制作一个应用程序,用户可以发送卡给其他用户,但当我点击发送我正在尝试使用网址缩短发送链接但我的网址缩短是不工作它总是显示错误消息网址缩短失败我做了一些关于SO的研究,但没有得到一个正确的解决方案我知道有些不对,但不知道哪个部分不正确下面是我的代码缩短网址
public void getShortenedUrl(String url, final int sendType){
try {
if (NetworkInfo.isNetworkAvailable(getActivity())) {
final boolean isMyCard=getArguments().getBoolean("isMyCard");
final String sharedTo=ceShareVia.getText().toString();
final String[] addresses = sharedTo.split(",");
LongUrl data = new LongUrl(url);
Call<LongUrl> cardResponseCall = ApiClientMain.getApiClient("https://www.googleapis.com/urlshortener/v1/")
.getShortenedUrl("application/json",ApplicationData.GOOGLE_URL_SHORTENER_KEY, data);
pbShare.setVisibility(View.VISIBLE);
cardResponseCall.enqueue(new retrofit2.Callback<LongUrl>() {
@Override
public void onResponse(Call<LongUrl> call, Response<LongUrl> response) {
pbShare.setVisibility(View.GONE);
if (response != null && response.body() != null) {
String url = response.body().getId();
String message;
if(isMyCard) {
message = "Hello," + "\n"
+ "Thanks for connecting!\n\n" + introMessage + "\n\n" + url …Run Code Online (Sandbox Code Playgroud) 我正在尝试从缩短的 URL 中获取 tiktok 视频的 URL,以便提取海报的@用户名和帖子的视频 ID。我遇到的一些缩短 URL 的示例似乎是 Facebook/Twitter 上以“m.tiktok.com”或更具体地说“https://vm.tiktok.com/pF6GGf/”形式共享的 URL。该链接最终重定向到“https://www.tiktok.com/@blessy2flex/video/6796374554391448838...”。有什么方法可以仅使用缩短的 URL 来获取此 URL?
我希望能够从实际 URL 中显示的缩短的 URL 中获取用户名 (@blessy2flex) 和视频 ID (6796374554391448838)。我尝试过跟踪重定向,但最终得到的网址是“https://m.tiktok.com/v/6833793010149412101.html...”,这显然不一样。
我也尝试过像 Selenium 这样的东西,它实际上最终给了我原始视频页面的 HTML,在其中我可以通过搜索实际的 HTML 来找到用户名和视频 id,但这种方法似乎不太可扩展因为我确信抖音会注意到并减慢我的进程。
我正在按照Medium.com 上的教程使用 AWS 创建 URL 缩短器。
我已经设置了整个过程,但在进行第一次测试时,我在尝试从 Lambda 获取 DynamoDB 项目时遇到权限错误。
如教程中所述,Lambda 在某个角色下运行。该角色附加了下一个策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"dynamodb:PutItem",
"dynamodb:DeleteItem",
"dynamodb:GetItem",
"dynamodb:Query",
"dynamodb:UpdateItem"
],
"Resource": "arn:aws:dynamodb:eu-west-3:922842442607:table/lambda-dynamodb-url-shortener"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是,正如我之前所说,我收到此错误:
[ERROR] ClientError: An error occurred (AccessDeniedException) when calling the GetItem operation: User: arn:aws:sts::***:assumed-role/lambda-dynamodb-url-shortener-role/url-shortener-create is not authorized to perform: dynamodb:GetItem on resource: arn:aws:dynamodb:eu-west-3:***:table/url-shortener-table
Run Code Online (Sandbox Code Playgroud)
当我检查 IAM 策略模拟器时,我可以看到该角色具有上述策略:
但是,正如预期的错误一样,我在尝试使用以下角色模拟对 DynamoDB 的访问时收到此错误:
有什么线索吗?:(
amazon-web-services url-shortener iaas amazon-dynamodb aws-lambda
url-shortener ×10
javascript ×2
.net ×1
android ×1
aws-lambda ×1
goo.gl ×1
google-api ×1
iaas ×1
java ×1
key-value ×1
nosql ×1
php ×1
python ×1
regex ×1
twitter ×1
url ×1
web-scraping ×1