我有大约300张图片我想上传到我的新Tumblr帐户,因为我的旧wordpress网站被黑了,我不再想使用wordpress.
我每天上传一张图片300天,我希望能够拍摄这些图片并使用api将它们上传到我的tumblr网站.
图像当前是本地的,存储在/ images /中.他们都有上传日期作为文件名的前十个字符,(01-01-2009-filename.png),我也去了这个日期参数.我希望能够通过将API的响应输出到我的error_log来查看脚本的进度.这是我到目前为止基于tumblr api页面的内容.
// Authorization info
$tumblr_email = 'me@example.com';
$tumblr_password = 'password';
// Tumblr script parameters
$source_directory = "images/";
// For each file, assign the file to a pointer
Run Code Online (Sandbox Code Playgroud)
这是第一个绊脚石.如何获取目录中的所有图像并循环显示它们?一旦我设置了for或while循环,我认为这是下一步
$post_data = fopen(dir(__FILE__) . $source_directory . $current_image, 'r');
$post_date = substr($current_image, 0, 10);
// Data for new record
$post_type = 'photo';
// Prepare POST request
$request_data = http_build_query(
array(
'email' => $tumblr_email,
'password' => $tumblr_password,
'type' => $post_type,
'data' => $post_data,
'date' => $post_date,
'generator' => 'Multi-file …Run Code Online (Sandbox Code Playgroud) 我经常在tumblr中定制主题,但这个编辑器很糟糕.在Linux(Ubuntu)操作系统下,在tumblr中创建主题是否有更好的可能性?我正在考虑使用vim.但是我必须将文本复制到vim中,编辑一些东西并将其粘贴到tumblr web编辑器,这很不舒服.
我可以上传一张图片,但我无法使用API创建包含多张图片的photoset.
文档说:Paramater:Array(URL编码的二进制内容)
一个或多个图像文件(多次提交以创建幻灯片)
有谁知道怎么做?
好的,所以,我正在为Android制作Tumblr客户端,我一直在尝试并且未能让OAuth工作一周左右.这是它的发展方向:
用户启动应用程序.主要活动的onCreate执行此操作:
settings = getSharedPreferences(PREFS_NAME, 0);
authToken=settings.getString("OauthToken", "none");
authTokenSecret=settings.getString("OauthSecret", "none");
if(authToken=="none" || authTokenSecret=="none"){
Intent i = new Intent(getApplicationContext(),Authentication.class);
startActivity(i);
}
Run Code Online (Sandbox Code Playgroud)
这将启动包含WebView的身份验证活动.该活动成功获取请求令牌,并将WebView发送到Tumblr登录屏幕.要求用户允许应用访问他们的数据,他们按下允许,我的WebViewClient捕获回调URL,并使用它执行此操作:
String[] token = helper.getVerifier(url);
if (token != null) {
try {
String accessToken[] = helper.getAccessToken(token[1]);
editor.putString("OauthToken", accessToken[0]);
editor.putString("OauthSecret", accessToken[1]);
editor.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
finish();
Run Code Online (Sandbox Code Playgroud)
辅助类的getAccessToken和getVerifier看起来像这样:
public String[] getVerifier(String myUrl) {
// extract the token if it exists
Uri uri = Uri.parse(myUrl);
if (uri == null) {
return null;
}
String token = uri.getQueryParameter("oauth_token");
String …Run Code Online (Sandbox Code Playgroud) tumblr的doc " 使用自定义域名 "是非常有帮助的是,它明确指出,我需要创建一个A记录的example.com指向66.6.44.4,让我的网站是通过访问example.com.
但我不明白这一点:我如何让www.example.com用户参与example.com?
不言而喻,这需要通过DNS以Tumblr兼容的方式完成(以防万一有任何不兼容性).
从搜索,我读到它不可能重定向example.com到www.example.com.我只能希望这不是真的.
如果,不幸的是,它正好是真实的,我唯一的选择是创建一个CNAME记录指向www.example.com到domains.tumblr.com-不是吗?
我基于在另一个问题中找到的一些代码实现了以下代码:
使用PHP选择特定的Tumblr XML值
function getPhoto($photos, $desiredWidth) {
$currentPhoto = NULL;
$currentDelta = PHP_INT_MAX;
foreach ($photos as $photo) {
$delta = abs($desiredWidth - $photo['max-width']);
if ($photo['max-width'] <= $desiredWidth && $delta < $currentDelta) {
$currentPhoto = $photo;
$currentDelta = $delta;
}
}
return $currentPhoto;
}
$request_url = "http://ACCOUNT.tumblr.com/api/read?type=photo&start=0&num=30";
//$request_url = "tumblr.xml";
$xml = simplexml_load_file($request_url);
foreach ($xml->posts->post as $post) {
echo "<div class=\"item\"><a href='".$post['url']."'><img src='".getPhoto($post->{'photo-url'}, 250)."' width=\"250\" /></a></div>";
}
Run Code Online (Sandbox Code Playgroud)
这段代码在我的开发站点上工作得很好,但是当我将其推送到另一台服务器上时,它不会从Tumblr加载外部XML ...它很好地加载了本地文本XML(在代码中作了注释)。
我正在等待从客户端获取帐户凭据,因此我可以联系客户服务并与他们合作...
同时,有谁知道这可能是什么原因?
服务器设置?
缺少PHP代码?
我正在将我的应用程序连接到Tumblr API,当我尝试授权时,我收到消息"授予此应用程序对Tumblr帐户的读写权限?".我只想要读取用户帐户的权限.
的的tumblr的API文档说,你可以有只读或读写访问.
权限将用于读取或写入或读取访问.读写访问权限允许应用程序或网站创建和编辑您的帖子.
如何告诉oAuth仅从Tumblr API请求读取权限?
使用Twitter API,显然您可以更改应用的访问级别:http://dev.twitter.com/discussions/1274.我没有在Tumblr oauth管理员设置中看到类似内容:http://tumblr.com/oauth/apps
以下是Tumblr API讨论组中的相关主题:https://groups.google.com/forum/#!topic/ tumblr-api/ HuDoDBvTIMI
我正试图通过tumblr api将标签添加到带有jquery的tumblr帖子中.
到目前为止,我已经将api称为:
$.ajax({
url: 'http://api.tumblr.com/v2/blog/<My Blog>.tumblr.com/post/edit',
method: 'post',
data : ({
api_key :'<My Secret Key>',
}),
dataType: 'jsonp',
success: function(results){
}
})
Run Code Online (Sandbox Code Playgroud)
我通过get找到了标签的位置.他们位于
results.response.posts[#].tags[#]
Run Code Online (Sandbox Code Playgroud)
我之前从未做过api帖子,所以我不知道该怎么做才能成功.任何帮助,将不胜感激.
我希望能让我的Tumblr博客更加适合移动设备,我希望在我的桌面主题旁边使用移动主题.我看到我可以使用移动设备的默认移动主题,但有没有办法让我自定义移动主题,但仍保留我的常规主题桌面?
所以,我正在尝试实现tumblr按钮的共享.单击按钮时,我希望它打开一个新窗口,其中包含当前页面的详细信息等.这适用于Facebook,Twitter等.
但是当我为tumbler执行此操作时,当用户打开新窗口时,它不会加载正常的共享窗口,而是重定向到此URL:
https://www.tumblr.com/widgets/share/tool/banned?
并显示以下文字:
Not Available for Sharing
Run Code Online (Sandbox Code Playgroud)
我正在从ng-click指令调用的AngularJS控制器中执行这个新窗口.
控制器代码是:
$scope.openWindow = function() {
window.open("http://www.tumblr.com/share", 'newwindow', 'width=400, height=400');
}
Run Code Online (Sandbox Code Playgroud)
html看起来像这样:
ng-click="openWindow()"
Run Code Online (Sandbox Code Playgroud)
我的网站刚刚在开发环境中运行并在localhost上运行.我想知道这是否与它有关?
PS我上面使用的示例是文档中最简单的代码.实际上我的网址会有一些查询参数,可以提供有关页面的更多详细信息 - 但对于最基本的类型,它似乎对我不起作用!