繁体   English   中英

如何使用带有PHP的API在Tumblr中的帖子中添加多个标签?

[英]How to add multiple tags to a post in Tumblr using the API with PHP?

我正在使用其API在Tumblr上发布。 我可以成功发布一个标签并将其添加到任何帖子,但是添加多个标签时遇到了麻烦。

这是他们在其指南中建议的内容:

{
"response": {
"posts": [
     {
        "blog_name": "blogname",

        "type": "text",
        "tags": [
           "tumblrize",
           "milky dog",
           "mini comic"
        ],
        "title": "A title",
        "body": "Some text for the post"
     },
     ...
  ]
 }
}

我在PHP中执行以下操作:

$data = array('title' => 'My Title', 'body' => 'My Content', 'tags' => 'A Single Tag');
$client->createPost($blog_n, $data);

为了使用多个标签,我编写了以下代码:

$data = array('title' => 'My Title', 'body' => 'My Content', 'tags' => array('A', 'Single', 'Tag'));

但这引发了一个例外。

任何人都可以帮助我了解如何发布多个标签。

这是我得到的例外:

PHP致命错误:未捕获的Tumblr \\ API \\ RequestException:[500]:内部服务器错误

扔在/home/freadioc/public_html/socialmedia/tumblr/lib/Tumblr/API/Client.php中

链接到文档

更新

在以下答案中提出建议之后,我使用了以下代码:

$data = array('title' => 'My Title', 'body' => 'My Content', 'tags' => 'Multiple', 'Tags'));

使用上面的代码只会在帖子上附加一个标签,即Multiple 我认为这是因为关联数组本身具有逗号分隔的值。

这是他们在其指南中建议的内容:

不,不是。 这是您在阅读帖子信息时可以期望从API 取回的JSON数据结构。 在这种情况下, tags属性将是标签数组

你想使一张贴在这里然而,这意味着正确的文档部分是https://www.tumblr.com/docs/en/api/v2#posting

如您所见,它描述了请求参数tags ,如下所示:

标签| 字串| 此帖子的逗号分隔标签

因此,您必须传递一个字符串 ,而不是数组


这是我得到的例外:

而且也不是...

不,这不是您所获得的异常,这是您由于忽略捕获该异常而导致的致命错误。

您应该阅读有关如何使用try / catch来正确处理异常的信息,以及如何查看它们实际包含的错误信息: http : //php.net/manual/zh/language.exceptions.php


编辑:

在以下答案中提出建议之后,我使用了以下代码:

  $data = array('title' => 'My Title', 'body' => 'My Content', 'tags' => 'Multiple', 'Tags')); 

没有人建议。

您在这里没有为键tags添加两个值,而仅添加了一个( Multiple )-然后添加了一个具有值Tags的完全独立的新数组元素。

一个带有逗号分隔标签的字符串就是这样- 一个string

$helloIAmAString = 'with,comma,separated,tags';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM