我们正在构建一个使用Gmail API的服务.为了了解我们的扩展成本,我想知道使用Gmail API需要多少费用.我已按照https://developers.google.com/gmail/api/v1/reference/quota上的说明操作,直到它说:
如果您已为项目[我们]启用了计费,则单击"配额"会将您带到一个页面,您可以在该页面中查看和更改与配额相关的设置.
该页面上唯一一个用于更改每日配额的选项是"申请更高的配额"; 但是,单击它会打开一个窗口,显示:
请务必查看现有的配额限制,以确认您需要超过每日默认值....如果您只是对限制有疑问,请在Stack Overflow论坛上询问
因此,我在这里问:当一个人的需求超过每日免费配额时,每个API单位的成本是多少?
我正在通过Gmail API发送电子邮件,并想知道邮件何时反弹.我怎样才能做到这一点?
根据我的理解,退回的电子邮件通常包含某种标题,表示反弹,例如:
X-Failed-Recipients: zzzzzzzzzasdfasdfadfa@gmail.com
Run Code Online (Sandbox Code Playgroud)
但是,似乎并不总是有一个标题指示退回的原始messageID.
我正在考虑以下计划,但是我认为我必须接近这个错误.
问题
我还有其他一些想法:
我在Python/Google App Engine上使用GMail API.我有一个返回某些线程ID的查询,现在我想得到每个线程的最后一条消息.由于结果不一定按日期排序,我想知道什么是最有效的API调用呢?
根据以下评论,我设置了以下批处理功能:
if threads != []:
count = 0 #start a new batch request after every 1000 requests
batch = BatchHttpRequest(callback=get_items)
for t in threads:
batch.add(service.users().threads().get(userId=email, id=t), request_id=some_id)
count += 1
if count % 1000: #batch requests can handle max 1000 entries
batch.execute(http=http)
batch = BatchHttpRequest(callback=get_items)
if not count % 1000:
batch.execute(http=http)
Run Code Online (Sandbox Code Playgroud)
然后执行get_items,其中包括跟随逻辑运行以查明线程中的最后一封电子邮件是否是已发送的项目.
def get_items(request_id, response, exception):
if exception is not None:
print 'An error occurred: %s' % exception
else:
for m in response['messages']: #check each of …Run Code Online (Sandbox Code Playgroud) 我正在使用node.js创建一个应用程序,每次收到电子邮件时都会从Gmail获取PUSH,将其与CRM中的第三方数据库进行核对,如果电子邮件包含在CRM中,则在CRM中创建新字段.我在使用谷歌新的Cloud Pub/Sub时遇到了麻烦,这似乎是在没有持续轮询的情况下从Gmail推送的唯一方法.
我已经阅读了这里的说明:https://cloud.google.com/pubsub/prereqs但我不明白这应该是从我桌面上的应用程序运行的.似乎pub/sub可以连接到经过验证的域,但我无法直接连接到我的计算机上的.js脚本.我已将api密钥保存在json文件中并使用以下内容:
var gcloud = require('gcloud');
var pubsub;
// From Google Compute Engine:
pubsub = gcloud.pubsub({
projectId: 'my-project',
});
// Or from elsewhere:
pubsub = gcloud.pubsub({
projectId: 'my-project',
keyFilename: '/path/to/keyfile.json'
});
// Create a new topic.
pubsub.createTopic('my-new-topic', function(err, topic) {});
// Reference an existing topic.
var topic = pubsub.topic('my-existing-topic');
// Publish a message to the topic.
topic.publish('New message!', function(err) {});
// Subscribe to the topic.
topic.subscribe('new-subscription', function(err, subscription) {
// Register listeners to start pulling …Run Code Online (Sandbox Code Playgroud) gmail google-app-engine node.js gmail-api google-cloud-pubsub
我尝试了以下代码来创建包含大附件的多部分电子邮件:
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
MimeBodyPart mimeBodyText = new MimeBodyPart();
mimeBodyText.setHeader("Content-Type", "text/html; charset=\"UTF-8\"");
mimeBodyText.setContent(body, "text/html");
Multipart mp = new MimeMultipart();
mp.addBodyPart(mimeBodyText);
if (attachments != null && attachments.size() > 0) {
for (Uri uri : attachments) {
MimeBodyPart mimeBodyAttachment = new MimeBodyPart();
String fileName = UriUtils.getFileName(uri, context);
String mimeType = UriUtils.getMimeType(uri, context);
Log.d(TAG, "Generating file info, uri=" + uri.getPath() + ", mimeType=" + mimeType);
FileInputStream is = UriUtils.generateFileInfo(context, uri, mimeType);
if (is == null) { …Run Code Online (Sandbox Code Playgroud) 我正在向User.messages端点发出请求.返回的所有对象(电子邮件)都有一个mimeType属性,我很难理解.
更具体地说,我希望能够根据mimeType提取电子邮件的正文,因为我已经注意到,根据mimeType,正文将位于body属性内payload或parts数组中.可以返回哪些不同的mimeTypes,我在哪里可以找到每个mimeType的电子邮件正文?
我使用listMessages()获取所有"UNREAD"消息,使用modifyMessage()更改标签,并通过publish()方法在Redis通道上发布它们.
但我每分钟都要求新的消息.
当新消息到达时,如何通过谷歌通知我,所以我不必每分钟进行一次投票?我在谷歌文档中检查"推送通知",但我不知道该怎么做.
有人可以用简单的话来解释我吗?
谢谢!
我正在开发一个iOS应用程序,我想做的是让应用程序ping一个通用的Gmail帐户来检查最新的电子邮件.
我通过https://developers.google.com/gmail/api/quickstart/ios?ver=swift浏览了Google的指南,但结果不起作用.经过一些谷歌搜索后,似乎某些功能可能已经改变,但他们还没有更新他们的文档.
有没有办法通过https将凭据发送到Gmail并收回电子邮件?我通过Gmail API管理器获得了OAuth密钥,但当我将其作为"access_token"传递时,响应显示"需要登录".
动机:我正在创建注册活动,我需要在按钮单击下发送自动电子邮件.我已经关注了一些博客,stackoverflow问题,并且无法发送电子邮件到目前为止.
工作环境: Android Studio 1.2 Beta 3
当前关注的问题:使用JavaMail API在Android中发送电子邮件,而不使用默认/内置应用程序
现在这就是我所做的:
下载了三个Jar文件
然后我在follwoing文件夹中复制了三个jar文件:
G:\ Android Projects\Email\app\libs \
复制文件后,我通过指向Android Studio中的"Project Explorer"找到我的.jar文件,然后将我的树视图从"Android"更改为"Project"
然后展开树Project> app> libs>
找到文件后; 在我做的每个.jar文件上:右键单击 - >添加为库
一旦完成了graddle构建,我就会复制上面的代码,然后问题并运行到我自己的项目中.它编译没有任何错误.
现在的问题是:
当我运行程序时,它显示一个Toast消息"电子邮件已成功发送",但我从未收到电子邮件,也没有任何已发送的邮件在我的帐户中.
这是我所有类和.xml文件的所有代码
MainActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button send = (Button)findViewById(R.id.send_email);
send.setOnClickListener(new View.OnClickListener() {
public void onClick(View …Run Code Online (Sandbox Code Playgroud) 我想使用 gmail api 提取整个邮件正文。现在我正在使用“片段”,但我需要整个文本。我搜索并发现它与有效载荷有关,但我不明白如何。有人可以给我举个例子吗?另外,我通过 python 使用 Gmail api。